Overview
Implement comprehensive Policies API module following v2.0 BaseAPI pattern for policy compliance assessment and management.
Scope
API Endpoints
GET /api/3/policies - List all policies
GET /api/3/policies/{id} - Get policy details
GET /api/3/policies/{id}/groups - Get policy groups
GET /api/3/policies/{id}/groups/{groupId} - Get group details
GET /api/3/policies/{id}/groups/{groupId}/rules - Get rules under group
GET /api/3/policies/{id}/rules/{ruleId} - Get rule details
GET /api/3/policies/{id}/assets/{assetId} - Get asset compliance
GET /api/3/policy_overrides - List overrides
POST /api/3/policy_overrides - Create override
DELETE /api/3/policy_overrides/{id} - Delete override
Implementation Checklist
Key Features
- Policy Types: CIS Benchmarks, DISA STIG, FDCC, USGCB, custom
- Compliance Results: Pass/fail status per rule, overall compliance score
- Rule Hierarchy: Organized into groups and subgroups
- Asset Assessment: Check specific assets against policies
- Overrides: Temporary rule exemptions with justification
- Helper Methods:
get_compliance_summary(), find_failed_rules(), create_override()
Common Policy Benchmarks
- CIS Benchmarks (Windows, Linux, databases)
- DISA STIG (Security Technical Implementation Guides)
- PCI DSS compliance
- HIPAA compliance
- Custom organizational policies
Estimated Size
~500-600 lines of code
Definition of Done
- PolicyAPI module implemented with all endpoints
- Integrated with InsightVMClient as
client.policies
- Documented with usage examples
- Memory Bank updated
- PR created and ready for review
References
- Context7 API Documentation:
/riza/rapid7-insightvm-api-docs
- BaseAPI Pattern:
src/rapid7/api/base.py
- Related Module:
src/rapid7/api/assets.py
Overview
Implement comprehensive Policies API module following v2.0 BaseAPI pattern for policy compliance assessment and management.
Scope
API Endpoints
GET /api/3/policies- List all policiesGET /api/3/policies/{id}- Get policy detailsGET /api/3/policies/{id}/groups- Get policy groupsGET /api/3/policies/{id}/groups/{groupId}- Get group detailsGET /api/3/policies/{id}/groups/{groupId}/rules- Get rules under groupGET /api/3/policies/{id}/rules/{ruleId}- Get rule detailsGET /api/3/policies/{id}/assets/{assetId}- Get asset complianceGET /api/3/policy_overrides- List overridesPOST /api/3/policy_overrides- Create overrideDELETE /api/3/policy_overrides/{id}- Delete overrideImplementation Checklist
src/rapid7/api/policies.pydocs/POLICIES_API.mdfeature/issue-{number}-policies-apiKey Features
get_compliance_summary(),find_failed_rules(),create_override()Common Policy Benchmarks
Estimated Size
~500-600 lines of code
Definition of Done
client.policiesReferences
/riza/rapid7-insightvm-api-docssrc/rapid7/api/base.pysrc/rapid7/api/assets.py