mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-06-12 06:04:56 +03:00
c21af3347e
- Add scripts/agent.py and references/api-reference.md to all remaining skills - Update all 648 LICENSE files: copyright now reads 'Mahipal' - Add implementing-security-monitoring-with-datadog (new skill with full anatomy) - All 649 skills now have: SKILL.md, LICENSE, scripts/agent.py, references/api-reference.md
43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# API Reference — Performing OT Network Security Assessment
|
|
|
|
## Libraries Used
|
|
- **csv**: Parse asset inventories and firewall rule exports
|
|
- **subprocess**: Execute nmap for OT protocol scanning
|
|
- **xml.etree.ElementTree**: Parse nmap XML output
|
|
|
|
## CLI Interface
|
|
```
|
|
python agent.py assets --csv ot_inventory.csv
|
|
python agent.py segmentation --csv firewall_rules.csv
|
|
python agent.py protocols --subnet 192.168.1.0/24
|
|
python agent.py report --assets inventory.csv [--firewall fw_rules.csv]
|
|
```
|
|
|
|
## Core Functions
|
|
|
|
### `assess_asset_inventory(csv_file)` — Purdue model zone analysis
|
|
Groups assets by Purdue level. Flags end-of-life and unknown firmware.
|
|
|
|
### `assess_network_segmentation(csv_file)` — Firewall rule audit
|
|
Detects: direct IT-to-OT access (CRITICAL), allow-any-protocol rules (HIGH).
|
|
|
|
### `scan_ot_protocols(target_subnet)` — OT protocol discovery
|
|
Scans ports: 102 (S7), 502 (Modbus), 4840 (OPC-UA), 44818 (EtherNet/IP),
|
|
47808 (BACnet), 20000 (DNP3).
|
|
|
|
### `generate_assessment_report(...)` — Comprehensive report
|
|
|
|
## OT Protocol Ports
|
|
| Port | Protocol | Usage |
|
|
|------|----------|-------|
|
|
| 102 | S7Comm | Siemens S7 PLCs |
|
|
| 502 | Modbus TCP | Industrial automation |
|
|
| 4840 | OPC-UA | Industrial data exchange |
|
|
| 44818 | EtherNet/IP | Allen-Bradley PLCs |
|
|
| 47808 | BACnet | Building automation |
|
|
| 20000 | DNP3 | SCADA/utility |
|
|
|
|
## Dependencies
|
|
System: nmap (optional, for protocol scanning)
|
|
No Python packages required.
|