COPS is a portable catalog of defensive cybersecurity plugins, agents, skills, and deterministic local tools. A security engineer can use the repository without first learning any host-specific packaging format: the catalog says what is available, each package declares its own safe demo and checks, and generated host indexes all come from that single source.
Requirements: Python 3.11 or newer. These commands use only the Python standard library and do not install dependencies, access a tenant, or require network access.
git clone https://github.com/sodejm/copilot-operation-plugin-for-security.git
cd copilot-operation-plugin-for-security
python3 -m cops doctor
python3 -m cops list
python3 -m cops info sentinel-hunt-workbench
python3 -m cops demo sentinel-hunt-workbench
python3 -m cops check sentinel-hunt-workbenchlist shows maturity plus separate offline, host-installation, and live-integration
states. demo runs a bounded package-owned example. check runs that package's
declared deterministic validation. None of these commands claim that a plugin is
installed in a particular assistant or that a live security service was exercised.
| Package | Use it for | Safe first command |
|---|---|---|
| Security Logging Advisor | Collect repository signals and plan cost-aware, privacy-aware security logging | python3 -m cops demo security-logging-advisor |
| SOC Investigation Workbench | Validate evidence associations and plan bounded investigations without running response actions | python3 -m cops demo soc-investigation-workbench |
| Sentinel Hunt Workbench | Explain, render, and stress-test 12 defensive hunting workflows offline | python3 -m cops demo sentinel-hunt-workbench |
For the complete analyst walkthrough, command reference, and evidence boundaries,
read Getting Started. Package-specific instructions live
with each package under plugins/<category>/<plugin-id>/.
catalog/plugins.jsonis the canonical inventory.- Every package owns a
package.jsonruntime/evidence contract, separate Copilot (plugin.json), Codex (.codex-plugin/plugin.json), and Claude (.claude-plugin/plugin.json) manifests, plus skills, documentation, a safe demo, and deterministic checks. python3 -m cops ...is the host-neutral operator interface..agents/plugins/marketplace.json,.github/plugin/marketplace.json, and.claude-plugin/marketplace.jsonare generated indexes, not independent sources.- Validation rejects uncataloged packages, misplaced packages, duplicate skill names, unsafe command paths, stale generated indexes, and unsupported support claims.
See Architecture, Repository Layout, and Compatibility for the full boundaries.
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
python3 -m cops doctor --contributor
make checkOn Windows, activate .venv\Scripts\Activate.ps1 in PowerShell. If Make is not
available, run python3 scripts/agent/check.py. Before adding a capability, read
Adding a Plugin, AGENTS.md, and
CONTRIBUTING.md.
Offline validation proves only what its output states. Pattern matching is not a
security or compliance guarantee. Static manifests do not prove host discovery or
activation. Fixture-backed tests do not prove tenant schema, permissions, latency,
cost, or false-positive behavior. Live and host claims stay unverified until a
separate, reviewable evidence record exists.
Existing COPS project material retains the PolyForm Noncommercial License 1.0.0. Imported PARK material retains its Apache-2.0 notices; see third-party notices and licensing.
