CASM: Continuous Attack Surface Monitoring
Project description
CASM
Continuous Attack Surface Monitoring
Evidence-first attack surface monitoring with safe, scope-bound verification and run-over-run change tracking.
CASM helps security teams continuously monitor external exposure in authorized environments. It discovers assets, verifies HTTP/TLS posture, and compares each run against a baseline to show exactly what changed.
Quick Start
# Install
pip install g2cv-casm
# Run a unified scan
casm run unified --config scopes/scope.yaml --targets-file targets/target-harness.example.json
# Compare with a previous run
casm diff --old runs/baseline/results.sarif --new runs/current/results.sarif
What CASM Does
- Discover exposed assets across HTTP, DNS, and TLS contexts.
- Verify web hardening signals and transport/security headers.
- Track change between scans with baseline-aware diffs.
- Report in SARIF, Markdown, PDF, and JSONL evidence streams.
Safety by Default
- Authorization-first scope controls (domains, IPs, ports, protocols).
- Dry-run support, deterministic blocking reasons, and rate/concurrency guardrails.
Screenshots
Executive Summary (PDF)
Changes Since Last Scan (PDF)
Documentation
- Full docs:
docs/(or runmkdocs serve) - Tutorials:
docs/tutorials/ - CLI reference:
docs/reference/cli.md - Configuration reference:
docs/reference/configuration.md - Security model:
docs/explanation/security-model.md
Project Notes
- Package name on PyPI:
g2cv-casm - CLI commands:
casmandg2cv-casm - Versioning is tag-driven (
vMAJOR.MINOR.PATCH)
Contributing and Security
- Contribution guide:
CONTRIBUTING.md - Security policy:
SECURITY.md - Code of conduct:
CODE_OF_CONDUCT.md
Support
If CASM is useful for your team, consider starring the repository. It helps others discover the project and supports ongoing development.
License
AGPL-3.0. See LICENSE.
Questions or partnerships: contact@g2cv.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file g2cv_casm-0.1.2.tar.gz.
File metadata
- Download URL: g2cv_casm-0.1.2.tar.gz
- Upload date:
- Size: 471.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
acf903b6df218a9dde542d6365218368311fb830dbb5093d3516801a8c6455f7
|
|
| MD5 |
c0707f8fc58b834e00bfdd4b19764e7b
|
|
| BLAKE2b-256 |
ab6d111d5ce051e7ee73a58f9499e0c585521c795885a0d71d263176cea1a5cc
|
File details
Details for the file g2cv_casm-0.1.2-py3-none-any.whl.
File metadata
- Download URL: g2cv_casm-0.1.2-py3-none-any.whl
- Upload date:
- Size: 91.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6dcc135d9ffb99e9f777c6b92e492cc17dfe273246424ce6119bf49023cecf8
|
|
| MD5 |
4efa19df13d1e0d0180cd41c95f06af4
|
|
| BLAKE2b-256 |
8cb4e379a6304b948d738dd3118ecbe84fb1f39219fc22d26978974484c33166
|