# snow_sir_indicator_manage

Unified tool for the Indicator of Compromise (IOC) lifecycle on sn_ti_observable, sn_ti_indicator, and the SIR observable join table. Manages persistent IOC records — distinct from snow_analyze_threat_intelligence, which only correlates a single IOC against feeds without persisting state. Actions: - create_ioc — create a new IOC record (value, type, finding required) on sn_ti_observable - list_iocs — list IOCs, optionally filtered by type, state, source, or seen-since - link_to_incident — link an existing IOC to a SIR incident via the observable-incident join table - mark_active — mark an IOC active (re-open after resolution) - mark_resolved — mark an IOC resolved (closed, no longer interesting) - search_by_value — find IOCs by exact or fragment match on value (IP, domain, hash, URL, email) Use when: the agent needs to manage persistent IOC records — open a new IOC after triage, attach existing IOCs to a new incident, search for prior sightings of a value, or close out an IOC after eradication. Companion tools: snow_analyze_threat_intelligence (one-shot feed correlation), snow_sir_incident_manage (parent incident lifecycle), snow_sir_evidence_manage (evidence chain of custody). Table-name volatility: the IOC table name varies by SN release (sn_ti_observable / sn_ti_indicator / sn_si_observable). This tool defaults to sn_ti_observable and falls back to sn_si_observable if the primary table is absent. Plugin gating: requires either Threat Intelligence or the Security Incident Response plugin (com.snc.security_incident). A 404 on both fallback tables is surfaced with the required plugin name. Returns: action-specific data. create_ioc returns the created record. list_iocs / search_by_value return arrays of IOCs with value, type, state, source, last_seen. link_to_incident returns the join-row sys_id. mark_active / mark_resolved return the updated record.

Agent View of the PolicyLayer registry record for `snow_sir_indicator_manage`. HTML page: https://policylayer.com/tools/serac/snow-sir-indicator-manage

## Facts

- Tool: `snow_sir_indicator_manage`
- Server: Serac (`serac-labs/serac`) — https://policylayer.com/tools/serac.md
- Homepage: https://github.com/serac-labs/serac
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "snow_sir_indicator_manage",
    "arguments": {}
  }
}
```

## Why snow_sir_indicator_manage is rated Medium

The tool primarily creates and modifies security indicator records and incident relationships. While it deals with sensitive security data (indicators of compromise), the operations are reversible (records can be deleted or delinked, state can be changed back). This is Write rather than Execute (no code/command execution) or Destructive (no permanent deletion).

From the tool's own definition: "The tool performs create_ioc (creates new IOC records), link_to_incident (creates join table entries), and mark_active (modifies IOC state)."

## Use case

AI agents use snow_sir_indicator_manage to create or update resources in Serac, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Serac environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Serac:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "snow_sir_indicator_manage": {
      "limits": [
        {
          "counter": "snow_sir_indicator_manage_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Serac (431)

- `snow_cleanup_test_artifacts` — Destructive — https://policylayer.com/tools/serac/snow-cleanup-test-artifacts.md
- `snow_delete_attachment` — Destructive — https://policylayer.com/tools/serac/snow-delete-attachment.md
- `snow_inbound_email_action` — Destructive — https://policylayer.com/tools/serac/snow-inbound-email-action.md
- `snow_pa_indicator_manage` — Destructive — https://policylayer.com/tools/serac/snow-pa-indicator-manage.md
- `snow_rollback_deployment` — Destructive — https://policylayer.com/tools/serac/snow-rollback-deployment.md
- `snow_workflow_transition` — Destructive — https://policylayer.com/tools/serac/snow-workflow-transition.md
- `enterprise_tool_execute` — Execute — https://policylayer.com/tools/serac/enterprise-tool-execute.md
- `snow_auto_resolve_incident` — Execute — https://policylayer.com/tools/serac/snow-auto-resolve-incident.md
- `snow_automate_threat_response` — Execute — https://policylayer.com/tools/serac/snow-automate-threat-response.md
- `snow_batch_request` — Execute — https://policylayer.com/tools/serac/snow-batch-request.md
- `snow_change_manage` — Execute — https://policylayer.com/tools/serac/snow-change-manage.md
- `snow_cicd_deploy` — Execute — https://policylayer.com/tools/serac/snow-cicd-deploy.md
- `snow_collect_metric` — Execute — https://policylayer.com/tools/serac/snow-collect-metric.md
- `snow_confirm_script_execution` — Execute — https://policylayer.com/tools/serac/snow-confirm-script-execution.md
- `snow_convert_es6_to_es5` — Execute — https://policylayer.com/tools/serac/snow-convert-es6-to-es5.md
- `snow_convert_to_es5` — Execute — https://policylayer.com/tools/serac/snow-convert-to-es5.md
- `snow_create_mobile_action` — Execute — https://policylayer.com/tools/serac/snow-create-mobile-action.md
- `snow_create_vulnerability_scan` — Execute — https://policylayer.com/tools/serac/snow-create-vulnerability-scan.md
- `snow_custom_api` — Execute — https://policylayer.com/tools/serac/snow-custom-api.md
- `snow_elevate_role` — Execute — https://policylayer.com/tools/serac/snow-elevate-role.md
- `snow_employee_offboarding` — Execute — https://policylayer.com/tools/serac/snow-employee-offboarding.md
- `snow_employee_onboarding` — Execute — https://policylayer.com/tools/serac/snow-employee-onboarding.md
- `snow_execute_atf_test` — Execute — https://policylayer.com/tools/serac/snow-execute-atf-test.md
- `snow_execute_script` — Execute — https://policylayer.com/tools/serac/snow-execute-script.md
- `snow_execute_security_playbook` — Execute — https://policylayer.com/tools/serac/snow-execute-security-playbook.md
- `snow_execute_transform` — Execute — https://policylayer.com/tools/serac/snow-execute-transform.md
- `snow_fluent_build` — Execute — https://policylayer.com/tools/serac/snow-fluent-build.md
- `snow_fluent_install` — Execute — https://policylayer.com/tools/serac/snow-fluent-install.md
- `snow_fluent_transform` — Execute — https://policylayer.com/tools/serac/snow-fluent-transform.md
- `snow_github_deploy` — Execute — https://policylayer.com/tools/serac/snow-github-deploy.md
- …and 401 more: https://policylayer.com/tools/serac.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=serac · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/serac
