This skill lets an OpenClaw agent:
secopsai is installed at ~/secopsai, preferably via a transparent repo checkout / manual setup flow such as:
git clone https://github.com/Techris93/secopsai.git ~/secopsaicd ~/secopsai && python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txtOpenClaw audit logs are present at ~/.openclaw/logs/ on the same host.
The agent has access to an exec tool to run shell commands.
The virtualenv at ~/secopsai/.venv is used for all commands.
If installation guidance is needed, prefer pointing users to the GitHub repo/manual setup path first. Only mention the hosted installer as an optional shortcut, not the default recommendation.
This skill can run shell commands and can modify the local SOC store when performing triage.
list/show/check).triage close, triage orchestrate, triage apply-action), require explicit user confirmation.data/openclaw/findings/openclaw_soc.db) before enabling unattended automation.User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai list --severity info --json --cache-ttl 60
( --json also works before the subcommand, e.g. secopsai --json list ....)
Agent behaviour:
secopsai list (field: findings).finding_id, severity, status, disposition, title.User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai refresh --json && \
secopsai list --severity high --json --cache-ttl 300
Agent behaviour:
refresh) and then list current high-severity findings.list JSON output, highlight NEW or HIGH/CRITICAL findings (based on
first_seen/ last_seen fields when available).Example reply:
Daily SecOps summary: 3 high-severity findings.
- HIGH: OCF-C9D2523C770B6731 — OpenClaw Dangerous Exec / Tool Burst (status=open)
- HIGH: OCF-62FA8D1D3578BF6E — OpenClaw Sensitive Config (status=open)
Reply
triage OCF-...to mark as reviewed, ormitigate OCF-...for remediation steps.
User phrases:
investigate SCM-<ID>triage OCF-<ID>investigate EXFIL-<ID>Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai triage investigate <FINDING_ID> --search-root "$HOME/secopsai" --json
Agent behaviour:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai supply-chain suggest-fp-action <FINDING_ID> --search-root "$HOME/secopsai" --json
Important: this modifies the local SOC store. Confirm with the user before running.
User phrases:
close SCM-<ID> as expected_behaviorclose OCF-<ID> as needs_review note "..."Exec command pattern:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai triage close <FINDING_ID> --disposition <TYPE> --note "<analyst note>" --json
Agent behaviour:
Confirm back with the final status and disposition.
User phrases:
show OCF-<ID>details OCF-<ID>Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai show OCF-<ID> --json
Agent behaviour:
Parse and summarise the JSON: title, severity, status, disposition, rule IDs,
number of events, first/last seen. Prefer the structured fields from
secopsai show and avoid re-parsing raw text.
Important: this can auto-close clearly safe findings. Confirm with the user before running.
User phrases:
run triage orchestratororchestrate findingsprocess open findingsExec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai triage orchestrate --search-root "$HOME/secopsai" --limit 20 --json
Agent behaviour:
processedauto_appliedqueuedbash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai triage queue --json
and, after approval:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai triage apply-action ACT-0001 --yes --json
User phrases:
Exec command pattern:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai check --type <malware|exfil|both> --severity medium --json --cache-ttl 60
Agent behaviour:
Parse the JSON ( check payload: findings_total, matched_count,
high_or_above, top_matches) and reply with a compact summary:
Malware check: 2 matching findings (1 HIGH). Top: OCF-C9D2523C770B6731, HIGH — OpenClaw Dangerous Exec / Policy Denials.
User phrases:
mitigate OCF-<ID>show mitigation OCF-<ID>what should I do for OCF-<ID>Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai mitigate OCF-<ID> --json --cache-ttl 60
Expected JSON fields: finding_id, title, severity, status,
disposition, rule_ids, recommended_actions (list of strings).
Agent behaviour:
Reply with a numbered list of the recommended_actions. Example:
Mitigation steps for OCF-C9D2523C770B6731 (HIGH — OpenClaw Dangerous Exec / Tool Burst):
- Identify which agent or skill issued the dangerous execs and confirm business justification.
- If unauthorized, disable or restrict that skill/tool configuration in OpenClaw.
- Rotate any secrets used in the commands (tokens, SSH keys, API keys).
- Add stricter policy/approval requirements for high-risk exec operations.
If recommended_actions is empty or missing:
No curated mitigation steps are available yet for this finding. Recommended next steps: review the associated events, confirm if the behaviour is expected, and restrict any over-permissive skills or credentials used.
User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai intel refresh --json
Agent behaviour:
User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai intel match --limit-iocs 500 --json
Agent behaviour:
matched_findings.TI-... finding IDs and titles and offer show TI-....User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai supply-chain scan --ecosystem pypi --package requests --version 2.32.0 --json
Agent behaviour:
result.verdict, result.finding_id, and result.report_path.malicious, offer show <finding_id>.User phrases:
Exec command:
bash
cd "$HOME/secopsai" && source .venv/bin/activate && \
secopsai supply-chain once --top 1000 --lookback 600 --json
Agent behaviour:
total_scanned, malicious, benign, errors, and results.SCM-... IDs and package versions.Configure an OpenClaw cron job to drive the secopsai CLI and produce a
concise chat summary.
30 7 * * * (07:30 local)text
[SECOPS_DAILY_SUMMARY_TRIGGER] Run the SecOpsAI pipeline and summarise new/high
findings for this chat.
Suggested steps for the agent:
1) cd "$HOME/secopsai" && source .venv/bin/activate
2) secopsai refresh --json
3) secopsai list --severity high --json --cache-ttl 300
4) Focus on high/critical findings first_seen in the last 24h.
5) Post a compact summary back into this conversation.
When this fires the agent should:
secopsai commands via exec.secopsai list --severity high --json.triage OCF-... or mitigate OCF-... any flagged item.