icdev 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- icdev/__init__.py +18 -0
- icdev/_paths.py +85 -0
- icdev/_version.py +3 -0
- icdev/data/__init__.py +1 -0
- icdev/data/args/__init__.py +1 -0
- icdev/data/args/agent_authority.yaml +61 -0
- icdev/data/args/agent_config.yaml +355 -0
- icdev/data/args/agentic_fitness.yaml +31 -0
- icdev/data/args/ai_governance_config.yaml +137 -0
- icdev/data/args/atlas_critique_config.yaml +66 -0
- icdev/data/args/bedrock_models.yaml +63 -0
- icdev/data/args/cicd_config.yaml +82 -0
- icdev/data/args/classification_config.yaml +232 -0
- icdev/data/args/cli_config.yaml +154 -0
- icdev/data/args/cloud_config.yaml +63 -0
- icdev/data/args/code_pattern_config.yaml +151 -0
- icdev/data/args/code_quality_config.yaml +47 -0
- icdev/data/args/companion_registry.yaml +202 -0
- icdev/data/args/context_config.yaml +82 -0
- icdev/data/args/csp_monitor_config.yaml +268 -0
- icdev/data/args/cui_markings.yaml +35 -0
- icdev/data/args/db_config.yaml +40 -0
- icdev/data/args/deployment_profiles.yaml +248 -0
- icdev/data/args/dev_profile_config.yaml +144 -0
- icdev/data/args/devsecops_config.yaml +286 -0
- icdev/data/args/endpoint_security_config.yaml +137 -0
- icdev/data/args/extension_config.yaml +79 -0
- icdev/data/args/file_access_tiers.yaml +88 -0
- icdev/data/args/framework_registry.yaml +415 -0
- icdev/data/args/innovation_config.yaml +431 -0
- icdev/data/args/installation_manifest.yaml +1087 -0
- icdev/data/args/llm_config.yaml +495 -0
- icdev/data/args/maintenance_config.yaml +55 -0
- icdev/data/args/memory_config.yaml +83 -0
- icdev/data/args/monitoring_config.yaml +127 -0
- icdev/data/args/mosa_config.yaml +190 -0
- icdev/data/args/nlq_config.yaml +35 -0
- icdev/data/args/observability_config.yaml +39 -0
- icdev/data/args/observability_tracing_config.yaml +170 -0
- icdev/data/args/oscal_tools_config.yaml +43 -0
- icdev/data/args/owasp_agentic_config.yaml +171 -0
- icdev/data/args/phase_registry.yaml +618 -0
- icdev/data/args/project_defaults.yaml +235 -0
- icdev/data/args/prompt_chains.yaml +163 -0
- icdev/data/args/resilience_config.yaml +50 -0
- icdev/data/args/ricoas_config.yaml +191 -0
- icdev/data/args/role_personas.yaml +362 -0
- icdev/data/args/scaling_config.yaml +176 -0
- icdev/data/args/security_gates.yaml +685 -0
- icdev/data/args/skill_injection_config.yaml +322 -0
- icdev/data/args/spec_config.yaml +53 -0
- icdev/data/args/supply_chain_config.yaml +76 -0
- icdev/data/args/translation_config.yaml +228 -0
- icdev/data/args/workflow_templates/ato_acceleration.yaml +54 -0
- icdev/data/args/workflow_templates/build_deploy.yaml +63 -0
- icdev/data/args/workflow_templates/full_compliance.yaml +43 -0
- icdev/data/args/workflow_templates/security_hardening.yaml +55 -0
- icdev/data/args/worktree_config.yaml +34 -0
- icdev/data/args/zta_config.yaml +247 -0
- icdev/data/context/__init__.py +1 -0
- icdev/data/context/agent/__init__.py +1 -0
- icdev/data/context/agent/response_schemas/__init__.py +1 -0
- icdev/data/context/agent/response_schemas/debate_position.json +46 -0
- icdev/data/context/agent/response_schemas/fitness_scorecard.json +74 -0
- icdev/data/context/agent/response_schemas/review_decision.json +39 -0
- icdev/data/context/agent/response_schemas/task_decomposition.json +82 -0
- icdev/data/context/agent/response_schemas/veto_decision.json +40 -0
- icdev/data/context/agentic/__init__.py +1 -0
- icdev/data/context/agentic/architecture_patterns.md +269 -0
- icdev/data/context/agentic/capability_registry.yaml +202 -0
- icdev/data/context/agentic/csp_mcp_registry.yaml +280 -0
- icdev/data/context/agentic/fitness_rubric.md +56 -0
- icdev/data/context/agentic/governance_baseline.md +205 -0
- icdev/data/context/ci/__init__.py +1 -0
- icdev/data/context/ci/worktree_templates.json +44 -0
- icdev/data/context/cloud/__init__.py +1 -0
- icdev/data/context/cloud/csp_service_registry.json +739 -0
- icdev/data/context/compliance/__init__.py +1 -0
- icdev/data/context/compliance/atlas_mitigations.json +293 -0
- icdev/data/context/compliance/atlas_techniques.json +833 -0
- icdev/data/context/compliance/cisa_sbd_requirements.json +432 -0
- icdev/data/context/compliance/cjis_security_policy.json +522 -0
- icdev/data/context/compliance/cmmc_practices.json +2494 -0
- icdev/data/context/compliance/cmmc_report_template.md +142 -0
- icdev/data/context/compliance/cnssi_1253_overlay.json +109 -0
- icdev/data/context/compliance/control_crosswalk.json +1914 -0
- icdev/data/context/compliance/control_families/__init__.py +1 -0
- icdev/data/context/compliance/csp_certifications.json +251 -0
- icdev/data/context/compliance/cssp_report_template.md +193 -0
- icdev/data/context/compliance/cui_templates/__init__.py +1 -0
- icdev/data/context/compliance/cui_templates/banner_block.txt +4 -0
- icdev/data/context/compliance/cui_templates/code_header.txt +8 -0
- icdev/data/context/compliance/cui_templates/document_template.md +35 -0
- icdev/data/context/compliance/data_type_framework_map.json +321 -0
- icdev/data/context/compliance/data_type_registry.json +147 -0
- icdev/data/context/compliance/dod_cssp_8530.json +463 -0
- icdev/data/context/compliance/eu_ai_act_annex_iii.json +108 -0
- icdev/data/context/compliance/export_templates/__init__.py +1 -0
- icdev/data/context/compliance/export_templates/emass_controls.csv.j2 +4 -0
- icdev/data/context/compliance/export_templates/evidence_package.md.j2 +39 -0
- icdev/data/context/compliance/export_templates/executive_summary.md.j2 +55 -0
- icdev/data/context/compliance/export_templates/poam_tracking.csv.j2 +4 -0
- icdev/data/context/compliance/fedramp_20x_ksi_schemas.json +133 -0
- icdev/data/context/compliance/fedramp_high_baseline.json +4370 -0
- icdev/data/context/compliance/fedramp_moderate_baseline.json +2183 -0
- icdev/data/context/compliance/fedramp_report_template.md +181 -0
- icdev/data/context/compliance/fips_200_areas.json +362 -0
- icdev/data/context/compliance/gao_ai_accountability.json +262 -0
- icdev/data/context/compliance/hipaa_security_rule.json +720 -0
- icdev/data/context/compliance/hitrust_csf_v11.json +930 -0
- icdev/data/context/compliance/impact_level_profiles.json +251 -0
- icdev/data/context/compliance/incident_response_template.md +1110 -0
- icdev/data/context/compliance/iso27001_2022_controls.json +750 -0
- icdev/data/context/compliance/iso27001_nist_bridge.json +382 -0
- icdev/data/context/compliance/iso42001_controls.json +254 -0
- icdev/data/context/compliance/ivv_checklist_template.md +80 -0
- icdev/data/context/compliance/ivv_report_template.md +116 -0
- icdev/data/context/compliance/ivv_requirements.json +372 -0
- icdev/data/context/compliance/mosa_crosswalk.json +327 -0
- icdev/data/context/compliance/mosa_framework.json +250 -0
- icdev/data/context/compliance/narrative_templates/AC.md.j2 +101 -0
- icdev/data/context/compliance/narrative_templates/AU.md.j2 +106 -0
- icdev/data/context/compliance/narrative_templates/IA.md.j2 +104 -0
- icdev/data/context/compliance/narrative_templates/SC.md.j2 +102 -0
- icdev/data/context/compliance/narrative_templates/SI.md.j2 +111 -0
- icdev/data/context/compliance/narrative_templates/__init__.py +1 -0
- icdev/data/context/compliance/narrative_templates/default.md.j2 +50 -0
- icdev/data/context/compliance/narrative_templates/executive_summary.j2 +27 -0
- icdev/data/context/compliance/narrative_templates/poam_milestone.j2 +19 -0
- icdev/data/context/compliance/narrative_templates/ssp_section.j2 +11 -0
- icdev/data/context/compliance/nist_800_171_controls.json +1552 -0
- icdev/data/context/compliance/nist_800_207_crosswalk.json +399 -0
- icdev/data/context/compliance/nist_800_207_zta.json +258 -0
- icdev/data/context/compliance/nist_800_53.json +324 -0
- icdev/data/context/compliance/nist_ai_600_1_genai.json +326 -0
- icdev/data/context/compliance/nist_ai_rmf.json +206 -0
- icdev/data/context/compliance/nist_sp_800_60_types.json +1667 -0
- icdev/data/context/compliance/omb_m25_21_high_impact_ai.json +248 -0
- icdev/data/context/compliance/omb_m26_04_unbiased_ai.json +262 -0
- icdev/data/context/compliance/owasp_agentic_asi.json +133 -0
- icdev/data/context/compliance/owasp_agentic_threats.json +285 -0
- icdev/data/context/compliance/owasp_llm_top10.json +274 -0
- icdev/data/context/compliance/pci_dss_v4.json +510 -0
- icdev/data/context/compliance/poam_template.md +117 -0
- icdev/data/context/compliance/safeai_controls.json +512 -0
- icdev/data/context/compliance/sbd_report_template.md +77 -0
- icdev/data/context/compliance/siem_config_templates/__init__.py +1 -0
- icdev/data/context/compliance/siem_config_templates/filebeat.yml +213 -0
- icdev/data/context/compliance/siem_config_templates/log_sources.json +208 -0
- icdev/data/context/compliance/soc2_trust_criteria.json +661 -0
- icdev/data/context/compliance/ssp_template.md +432 -0
- icdev/data/context/compliance/stig_templates/__init__.py +1 -0
- icdev/data/context/compliance/stig_templates/webapp_stig.json +139 -0
- icdev/data/context/compliance/xai_requirements.json +108 -0
- icdev/data/context/dashboard/__init__.py +1 -0
- icdev/data/context/dashboard/nlq_examples.json +50 -0
- icdev/data/context/dashboard/schema_descriptions.json +23 -0
- icdev/data/context/integration/__init__.py +1 -0
- icdev/data/context/integration/approval_workflows.json +32 -0
- icdev/data/context/integration/gitlab_field_mappings.json +33 -0
- icdev/data/context/integration/jira_field_mappings.json +32 -0
- icdev/data/context/integration/reqif_export_schema.json +23 -0
- icdev/data/context/integration/servicenow_field_mappings.json +22 -0
- icdev/data/context/languages/__init__.py +1 -0
- icdev/data/context/languages/framework_patterns.json +205 -0
- icdev/data/context/languages/language_registry.json +279 -0
- icdev/data/context/llm/__init__.py +1 -0
- icdev/data/context/llm/example_provider.py +86 -0
- icdev/data/context/mbse/__init__.py +1 -0
- icdev/data/context/mbse/des_report_template.md +162 -0
- icdev/data/context/mbse/des_requirements.json +411 -0
- icdev/data/context/mbse/digital_thread_patterns.json +403 -0
- icdev/data/context/mbse/reqif_schema.json +280 -0
- icdev/data/context/mbse/sysml_element_types.json +432 -0
- icdev/data/context/modernization/__init__.py +1 -0
- icdev/data/context/modernization/db_type_mappings.json +148 -0
- icdev/data/context/modernization/decomposition_patterns.json +284 -0
- icdev/data/context/modernization/framework_migration_patterns.json +359 -0
- icdev/data/context/modernization/migration_report_template.md +168 -0
- icdev/data/context/modernization/seven_rs_catalog.json +369 -0
- icdev/data/context/modernization/version_upgrade_rules.json +279 -0
- icdev/data/context/oscal/NIST_SP-800-53_rev5_catalog.json +254987 -0
- icdev/data/context/oscal/README.md +43 -0
- icdev/data/context/patterns/__init__.py +1 -0
- icdev/data/context/profiles/__init__.py +1 -0
- icdev/data/context/profiles/dod_baseline_v1.yaml +145 -0
- icdev/data/context/profiles/fedramp_baseline_v1.yaml +143 -0
- icdev/data/context/profiles/financial_baseline_v1.yaml +142 -0
- icdev/data/context/profiles/healthcare_baseline_v1.yaml +135 -0
- icdev/data/context/profiles/law_enforcement_v1.yaml +129 -0
- icdev/data/context/profiles/startup_v1.yaml +134 -0
- icdev/data/context/requirements/__init__.py +1 -0
- icdev/data/context/requirements/ambiguity_patterns.json +97 -0
- icdev/data/context/requirements/boundary_impact_rules.json +123 -0
- icdev/data/context/requirements/default_constitutions.json +67 -0
- icdev/data/context/requirements/document_extraction_rules.json +58 -0
- icdev/data/context/requirements/gap_patterns.json +108 -0
- icdev/data/context/requirements/readiness_rubric.json +78 -0
- icdev/data/context/requirements/red_alternative_patterns.json +210 -0
- icdev/data/context/requirements/safe_templates.json +72 -0
- icdev/data/context/requirements/spec_quality_checklist.json +122 -0
- icdev/data/context/simulation/__init__.py +1 -0
- icdev/data/context/simulation/architecture_patterns.json +36 -0
- icdev/data/context/simulation/coa_templates.json +38 -0
- icdev/data/context/simulation/cost_models.json +23 -0
- icdev/data/context/simulation/risk_categories.json +46 -0
- icdev/data/context/supply_chain/__init__.py +1 -0
- icdev/data/context/supply_chain/isa_templates.json +129 -0
- icdev/data/context/supply_chain/nist_800_161_controls.json +247 -0
- icdev/data/context/supply_chain/scrm_risk_matrix.json +147 -0
- icdev/data/context/templates/__init__.py +1 -0
- icdev/data/context/templates/ansible/__init__.py +1 -0
- icdev/data/context/templates/ansible/playbooks/__init__.py +1 -0
- icdev/data/context/templates/ansible/roles/__init__.py +1 -0
- icdev/data/context/templates/gitlab_ci/__init__.py +1 -0
- icdev/data/context/templates/grafana/__init__.py +1 -0
- icdev/data/context/templates/kubernetes/__init__.py +1 -0
- icdev/data/context/templates/project/__init__.py +1 -0
- icdev/data/context/templates/project/api/__init__.py +1 -0
- icdev/data/context/templates/project/cli/__init__.py +1 -0
- icdev/data/context/templates/project/data_pipeline/__init__.py +1 -0
- icdev/data/context/templates/project/iac/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/src/__init__.py +1 -0
- icdev/data/context/templates/project/javascript_frontend/tests/__init__.py +1 -0
- icdev/data/context/templates/project/microservice/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/src/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/features/__init__.py +1 -0
- icdev/data/context/templates/project/python_backend/tests/steps/__init__.py +1 -0
- icdev/data/context/templates/terraform/__init__.py +1 -0
- icdev/data/context/templates/terraform/govcloud_base/__init__.py +1 -0
- icdev/data/context/templates/terraform/modules/__init__.py +1 -0
- icdev/data/context/tone/__init__.py +1 -0
- icdev/data/context/translation/dependency_mappings.json +186 -0
- icdev/data/context/translation/type_mappings.json +149 -0
- icdev/data/docs/README.md +187 -0
- icdev/data/docs/__init__.py +1 -0
- icdev/data/docs/admin/gateway-guide.md +338 -0
- icdev/data/docs/admin/marketplace-guide.md +396 -0
- icdev/data/docs/admin/monitoring-guide.md +509 -0
- icdev/data/docs/architecture/compliance-framework.md +764 -0
- icdev/data/docs/architecture/database-schema.md +689 -0
- icdev/data/docs/architecture/gotcha-framework.md +518 -0
- icdev/data/docs/architecture/multi-agent-system.md +603 -0
- icdev/data/docs/dx/README.md +106 -0
- icdev/data/docs/dx/__init__.py +1 -0
- icdev/data/docs/dx/ci-cd-integration.md +378 -0
- icdev/data/docs/dx/claude-code-guide.md +213 -0
- icdev/data/docs/dx/companion-guide.md +232 -0
- icdev/data/docs/dx/dev-profiles.md +309 -0
- icdev/data/docs/dx/icdev-yaml-spec.md +219 -0
- icdev/data/docs/dx/integration-tiers.md +279 -0
- icdev/data/docs/dx/llm-routing-guide.md +456 -0
- icdev/data/docs/dx/quickstart.md +192 -0
- icdev/data/docs/dx/sdk-reference.md +356 -0
- icdev/data/docs/dx/unified-mcp-setup.md +525 -0
- icdev/data/docs/features/__init__.py +1 -0
- icdev/data/docs/features/phase-01-gotcha-framework.md +249 -0
- icdev/data/docs/features/phase-02-atlas-build-workflow.md +223 -0
- icdev/data/docs/features/phase-03-tdd-bdd-testing.md +261 -0
- icdev/data/docs/features/phase-04-nist-compliance.md +255 -0
- icdev/data/docs/features/phase-05-security-scanning.md +229 -0
- icdev/data/docs/features/phase-06-infrastructure-deployment.md +288 -0
- icdev/data/docs/features/phase-07-code-review-gates.md +276 -0
- icdev/data/docs/features/phase-08-self-healing.md +223 -0
- icdev/data/docs/features/phase-09-monitoring-observability.md +230 -0
- icdev/data/docs/features/phase-10-dashboard-web-ui.md +218 -0
- icdev/data/docs/features/phase-11-multi-agent-architecture.md +272 -0
- icdev/data/docs/features/phase-12-integration-testing.md +228 -0
- icdev/data/docs/features/phase-13-cicd-integration.md +257 -0
- icdev/data/docs/features/phase-14-secure-by-design-ivv.md +240 -0
- icdev/data/docs/features/phase-15-maintenance-audit.md +192 -0
- icdev/data/docs/features/phase-16-ato-acceleration.md +228 -0
- icdev/data/docs/features/phase-17-multi-framework-compliance.md +223 -0
- icdev/data/docs/features/phase-18-mbse-integration.md +242 -0
- icdev/data/docs/features/phase-19-agentic-generation.md +202 -0
- icdev/data/docs/features/phase-20-fips-security-categorization.md +198 -0
- icdev/data/docs/features/phase-21-saas-multi-tenancy.md +273 -0
- icdev/data/docs/features/phase-22-federated-gotcha-marketplace.md +242 -0
- icdev/data/docs/features/phase-23-universal-compliance-platform.md +238 -0
- icdev/data/docs/features/phase-24-devsecops-pipeline-security.md +198 -0
- icdev/data/docs/features/phase-25-zero-trust-architecture.md +220 -0
- icdev/data/docs/features/phase-26-dod-mosa.md +205 -0
- icdev/data/docs/features/phase-27-cli-capabilities.md +222 -0
- icdev/data/docs/features/phase-28-remote-command-gateway.md +235 -0
- icdev/data/docs/features/phase-29-proactive-monitoring.md +212 -0
- icdev/data/docs/features/phase-30-dashboard-auth.md +215 -0
- icdev/data/docs/features/phase-31-dashboard-ux-low-impact.md +188 -0
- icdev/data/docs/features/phase-32-dashboard-ux-medium-impact.md +223 -0
- icdev/data/docs/features/phase-33-modular-installation.md +218 -0
- icdev/data/docs/features/phase-34-dev-profiles.md +239 -0
- icdev/data/docs/features/phase-35-innovation-engine.md +257 -0
- icdev/data/docs/features/phase-36-evolutionary-intelligence.md +351 -0
- icdev/data/docs/features/phase-37-mitre-atlas-integration.md +485 -0
- icdev/data/docs/features/phase-38-cloud-agnostic-architecture.md +1033 -0
- icdev/data/docs/features/phase-39-observability-operations.md +178 -0
- icdev/data/docs/features/phase-40-nlq-compliance-queries.md +176 -0
- icdev/data/docs/features/phase-41-parallel-cicd.md +169 -0
- icdev/data/docs/features/phase-42-framework-planning.md +177 -0
- icdev/data/docs/features/phase-43-cross-language-translation.md +225 -0
- icdev/data/docs/features/phase-44-innovation-adaptation.md +227 -0
- icdev/data/docs/features/phase-45-owasp-agentic-security.md +239 -0
- icdev/data/docs/features/phase-46-observability-traceability-xai.md +240 -0
- icdev/data/docs/features/phase-47-unified-mcp-gateway.md +257 -0
- icdev/data/docs/features/phase-48-ai-transparency.md +203 -0
- icdev/data/docs/features/phase-49-ai-accountability.md +243 -0
- icdev/data/docs/features/phase-50-ai-governance-intake-chat.md +195 -0
- icdev/data/docs/features/phase-51-unified-chat-dashboard.md +240 -0
- icdev/data/docs/features/phase-52-code-intelligence.md +244 -0
- icdev/data/docs/features/phase-53-fedramp-20x-owasp-asi.md +359 -0
- icdev/data/docs/features/phase-54-slsa-swft-orchestration.md +379 -0
- icdev/data/docs/features/phase-55-a2a-v03-mcp-oauth.md +322 -0
- icdev/data/docs/features/phase-56-evidence-lineage.md +352 -0
- icdev/data/docs/features/phase-57-eu-ai-act-iron-bank.md +319 -0
- icdev/data/docs/features/phase-58-creative-engine.md +370 -0
- icdev/data/docs/features/phase-59-govcon-intelligence.md +535 -0
- icdev/data/docs/features/phase-60-cpmp.md +528 -0
- icdev/data/docs/features/phase-61-orchestration-improvements.md +534 -0
- icdev/data/docs/operations/dashboard-guide.md +354 -0
- icdev/data/docs/operations/deployment-guide.md +556 -0
- icdev/data/docs/operations/saas-admin-guide.md +439 -0
- icdev/data/docs/operations/security-operations-guide.md +733 -0
- icdev/data/docs/runbooks/backup-restore.md +412 -0
- icdev/data/docs/runbooks/troubleshooting.md +499 -0
- icdev/data/features/__init__.py +1 -0
- icdev/data/features/cicd_integration.feature +41 -0
- icdev/data/features/compliance_gates.feature +46 -0
- icdev/data/features/dashboard.feature +72 -0
- icdev/data/features/environment.py +25 -0
- icdev/data/features/project_management.feature +32 -0
- icdev/data/features/requirements_intake.feature +42 -0
- icdev/data/features/saas_platform.feature +53 -0
- icdev/data/features/security_scanning.feature +36 -0
- icdev/data/features/steps/__init__.py +1 -0
- icdev/data/features/steps/cicd_steps.py +465 -0
- icdev/data/features/steps/compliance_steps.py +308 -0
- icdev/data/features/steps/dashboard_steps.py +88 -0
- icdev/data/features/steps/project_steps.py +126 -0
- icdev/data/features/steps/requirements_intake_steps.py +689 -0
- icdev/data/features/steps/saas_platform_steps.py +572 -0
- icdev/data/features/steps/security_steps.py +236 -0
- icdev/data/features/steps/testing_steps.py +226 -0
- icdev/data/features/testing_pipeline.feature +42 -0
- icdev/data/goals/__init__.py +1 -0
- icdev/data/goals/agent_management.md +144 -0
- icdev/data/goals/agentic_generation.md +345 -0
- icdev/data/goals/agentic_threat_model.md +309 -0
- icdev/data/goals/ai_accountability.md +90 -0
- icdev/data/goals/ai_governance_intake.md +132 -0
- icdev/data/goals/ai_transparency.md +76 -0
- icdev/data/goals/atlas_integration.md +405 -0
- icdev/data/goals/ato_acceleration.md +139 -0
- icdev/data/goals/boundary_supply_chain.md +206 -0
- icdev/data/goals/build_app.md +544 -0
- icdev/data/goals/cicd_integration.md +86 -0
- icdev/data/goals/claude_dir_maintenance.md +77 -0
- icdev/data/goals/cli_capabilities.md +340 -0
- icdev/data/goals/cloud_agnostic.md +312 -0
- icdev/data/goals/code_intelligence.md +197 -0
- icdev/data/goals/code_review.md +94 -0
- icdev/data/goals/compliance_workflow.md +858 -0
- icdev/data/goals/continuous_harmonization.md +140 -0
- icdev/data/goals/cross_language_translation.md +171 -0
- icdev/data/goals/dashboard.md +142 -0
- icdev/data/goals/deploy_workflow.md +390 -0
- icdev/data/goals/devsecops_workflow.md +408 -0
- icdev/data/goals/evolutionary_intelligence.md +305 -0
- icdev/data/goals/external_integration.md +113 -0
- icdev/data/goals/framework_planning.md +63 -0
- icdev/data/goals/init_project.md +235 -0
- icdev/data/goals/innovation_engine.md +199 -0
- icdev/data/goals/integration_testing.md +189 -0
- icdev/data/goals/maintenance_audit.md +196 -0
- icdev/data/goals/manifest.md +56 -0
- icdev/data/goals/mbse_integration.md +504 -0
- icdev/data/goals/modernization_workflow.md +618 -0
- icdev/data/goals/monitoring.md +126 -0
- icdev/data/goals/mosa_workflow.md +463 -0
- icdev/data/goals/multi_agent_orchestration.md +68 -0
- icdev/data/goals/nlq_compliance.md +63 -0
- icdev/data/goals/observability.md +64 -0
- icdev/data/goals/observability_traceability_xai.md +154 -0
- icdev/data/goals/owasp_agentic_security.md +395 -0
- icdev/data/goals/parallel_cicd.md +61 -0
- icdev/data/goals/requirements_intake.md +213 -0
- icdev/data/goals/sbd_ivv_workflow.md +195 -0
- icdev/data/goals/security_categorization.md +133 -0
- icdev/data/goals/security_scan.md +381 -0
- icdev/data/goals/self_healing.md +120 -0
- icdev/data/goals/simulation_engine.md +111 -0
- icdev/data/goals/tdd_workflow.md +403 -0
- icdev/data/goals/zero_trust_architecture.md +403 -0
- icdev/data/hardprompts/__init__.py +1 -0
- icdev/data/hardprompts/agent/__init__.py +1 -0
- icdev/data/hardprompts/agent/agentic_architect.md +100 -0
- icdev/data/hardprompts/agent/debate_prompt.md +32 -0
- icdev/data/hardprompts/agent/fitness_evaluation.md +48 -0
- icdev/data/hardprompts/agent/governance_review.md +214 -0
- icdev/data/hardprompts/agent/reviewer_prompt.md +34 -0
- icdev/data/hardprompts/agent/skill_design.md +172 -0
- icdev/data/hardprompts/agent/task_decomposition.md +275 -0
- icdev/data/hardprompts/agent/veto_check_prompt.md +33 -0
- icdev/data/hardprompts/architect/__init__.py +1 -0
- icdev/data/hardprompts/architect/api_design.md +283 -0
- icdev/data/hardprompts/architect/data_model.md +277 -0
- icdev/data/hardprompts/architect/system_design.md +180 -0
- icdev/data/hardprompts/builder/__init__.py +1 -0
- icdev/data/hardprompts/builder/code_generation.md +59 -0
- icdev/data/hardprompts/builder/refactor.md +58 -0
- icdev/data/hardprompts/builder/scaffold_project.md +69 -0
- icdev/data/hardprompts/builder/test_generation.md +87 -0
- icdev/data/hardprompts/ci/__init__.py +1 -0
- icdev/data/hardprompts/ci/worktree_setup.md +35 -0
- icdev/data/hardprompts/compliance/__init__.py +1 -0
- icdev/data/hardprompts/compliance/cmmc_assessment.md +63 -0
- icdev/data/hardprompts/compliance/cssp_assessment.md +75 -0
- icdev/data/hardprompts/compliance/cui_marking.md +86 -0
- icdev/data/hardprompts/compliance/fedramp_assessment.md +55 -0
- icdev/data/hardprompts/compliance/ivv_assessment.md +96 -0
- icdev/data/hardprompts/compliance/poam_generation.md +57 -0
- icdev/data/hardprompts/compliance/sbd_assessment.md +101 -0
- icdev/data/hardprompts/compliance/security_categorization.md +74 -0
- icdev/data/hardprompts/compliance/ssp_generation.md +56 -0
- icdev/data/hardprompts/compliance/stig_evaluation.md +63 -0
- icdev/data/hardprompts/dashboard/__init__.py +1 -0
- icdev/data/hardprompts/dashboard/nlq_system_prompt.md +26 -0
- icdev/data/hardprompts/infra/__init__.py +1 -0
- icdev/data/hardprompts/infra/k8s_manifests.md +118 -0
- icdev/data/hardprompts/infra/pipeline_generation.md +160 -0
- icdev/data/hardprompts/infra/terraform_generation.md +92 -0
- icdev/data/hardprompts/integration/__init__.py +1 -0
- icdev/data/hardprompts/integration/approval_review.md +17 -0
- icdev/data/hardprompts/integration/jira_mapping.md +25 -0
- icdev/data/hardprompts/integration/servicenow_mapping.md +14 -0
- icdev/data/hardprompts/knowledge/__init__.py +1 -0
- icdev/data/hardprompts/knowledge/pattern_detection.md +73 -0
- icdev/data/hardprompts/knowledge/recommendation_engine.md +90 -0
- icdev/data/hardprompts/knowledge/root_cause_analysis.md +91 -0
- icdev/data/hardprompts/maintenance/__init__.py +1 -0
- icdev/data/hardprompts/maintenance/maintenance_assessment.md +82 -0
- icdev/data/hardprompts/mbse/__init__.py +1 -0
- icdev/data/hardprompts/mbse/digital_thread.md +67 -0
- icdev/data/hardprompts/mbse/model_import.md +62 -0
- icdev/data/hardprompts/mbse/model_to_code.md +65 -0
- icdev/data/hardprompts/modernization/__init__.py +1 -0
- icdev/data/hardprompts/modernization/legacy_analysis.md +93 -0
- icdev/data/hardprompts/modernization/migration_planning.md +150 -0
- icdev/data/hardprompts/modernization/seven_r_assessment.md +107 -0
- icdev/data/hardprompts/requirements/__init__.py +1 -0
- icdev/data/hardprompts/requirements/bdd_generation.md +35 -0
- icdev/data/hardprompts/requirements/clarification_prioritization.md +29 -0
- icdev/data/hardprompts/requirements/decomposition.md +60 -0
- icdev/data/hardprompts/requirements/document_extraction.md +45 -0
- icdev/data/hardprompts/requirements/gap_detection.md +70 -0
- icdev/data/hardprompts/requirements/intake_conversation.md +101 -0
- icdev/data/hardprompts/requirements/readiness_assessment.md +39 -0
- icdev/data/hardprompts/requirements/spec_quality.md +33 -0
- icdev/data/hardprompts/requirements/traceability_analysis.md +23 -0
- icdev/data/hardprompts/security/__init__.py +1 -0
- icdev/data/hardprompts/security/endpoint_security.md +78 -0
- icdev/data/hardprompts/security/threat_model.md +70 -0
- icdev/data/hardprompts/security/vulnerability_assessment.md +81 -0
- icdev/data/hardprompts/simulation/__init__.py +1 -0
- icdev/data/hardprompts/simulation/architecture_impact.md +27 -0
- icdev/data/hardprompts/simulation/coa_alternative.md +27 -0
- icdev/data/hardprompts/simulation/coa_generation.md +25 -0
- icdev/data/hardprompts/simulation/compliance_impact.md +28 -0
- icdev/data/hardprompts/simulation/cost_estimation.md +33 -0
- icdev/data/hardprompts/simulation/risk_assessment.md +28 -0
- icdev/data/hardprompts/translation/code_translation.md +68 -0
- icdev/data/hardprompts/translation/dependency_suggestion.md +44 -0
- icdev/data/hardprompts/translation/test_translation.md +64 -0
- icdev/data/hardprompts/translation/translation_repair.md +59 -0
- icdev/py.typed +0 -0
- icdev/tools/__init__.py +1 -0
- icdev/tools/_gen_formatter.py +12 -0
- icdev/tools/a2a/__init__.py +1 -0
- icdev/tools/a2a/agent_cards/architect.json +43 -0
- icdev/tools/a2a/agent_cards/builder.json +50 -0
- icdev/tools/a2a/agent_cards/compliance.json +57 -0
- icdev/tools/a2a/agent_cards/devsecops.json +71 -0
- icdev/tools/a2a/agent_cards/infra.json +57 -0
- icdev/tools/a2a/agent_cards/integration.json +57 -0
- icdev/tools/a2a/agent_cards/knowledge.json +43 -0
- icdev/tools/a2a/agent_cards/mbse.json +57 -0
- icdev/tools/a2a/agent_cards/modernization.json +50 -0
- icdev/tools/a2a/agent_cards/monitor.json +43 -0
- icdev/tools/a2a/agent_cards/orchestrator.json +36 -0
- icdev/tools/a2a/agent_cards/requirements_analyst.json +64 -0
- icdev/tools/a2a/agent_cards/security.json +50 -0
- icdev/tools/a2a/agent_cards/simulation.json +57 -0
- icdev/tools/a2a/agent_cards/supply_chain.json +50 -0
- icdev/tools/a2a/agent_client.py +349 -0
- icdev/tools/a2a/agent_registry.py +412 -0
- icdev/tools/a2a/agent_server.py +579 -0
- icdev/tools/a2a/task.py +200 -0
- icdev/tools/agent/__init__.py +2 -0
- icdev/tools/agent/a2a_agent_card_generator.py +285 -0
- icdev/tools/agent/a2a_discovery_server.py +250 -0
- icdev/tools/agent/agent_executor.py +529 -0
- icdev/tools/agent/agent_memory.py +557 -0
- icdev/tools/agent/agent_models.py +51 -0
- icdev/tools/agent/atlas_critique.py +908 -0
- icdev/tools/agent/authority.py +443 -0
- icdev/tools/agent/bedrock_client.py +1075 -0
- icdev/tools/agent/collaboration.py +871 -0
- icdev/tools/agent/dispatcher_mode.py +665 -0
- icdev/tools/agent/mailbox.py +575 -0
- icdev/tools/agent/prompt_chain_executor.py +1064 -0
- icdev/tools/agent/session_purpose.py +350 -0
- icdev/tools/agent/skill_router.py +638 -0
- icdev/tools/agent/skill_selector.py +486 -0
- icdev/tools/agent/team_orchestrator.py +1108 -0
- icdev/tools/agent/token_tracker.py +290 -0
- icdev/tools/analysis/__init__.py +1 -0
- icdev/tools/analysis/code_analyzer.py +780 -0
- icdev/tools/analysis/runtime_feedback.py +389 -0
- icdev/tools/audit/__init__.py +1 -0
- icdev/tools/audit/audit_logger.py +196 -0
- icdev/tools/audit/audit_query.py +157 -0
- icdev/tools/audit/decision_recorder.py +72 -0
- icdev/tools/builder/__init__.py +1 -0
- icdev/tools/builder/agentic_fitness.py +534 -0
- icdev/tools/builder/agentic_test_templates/test_a2a_callback.py +117 -0
- icdev/tools/builder/agentic_test_templates/test_a2a_lifecycle.feature +52 -0
- icdev/tools/builder/agentic_test_templates/test_agent_card.feature +37 -0
- icdev/tools/builder/agentic_test_templates/test_agent_health.py +128 -0
- icdev/tools/builder/agentic_test_templates/test_memory_system.feature +50 -0
- icdev/tools/builder/agentic_test_templates/test_skill_execution.feature +40 -0
- icdev/tools/builder/app_blueprint.py +1583 -0
- icdev/tools/builder/child_app_generator.py +2852 -0
- icdev/tools/builder/claude_md_generator.py +1734 -0
- icdev/tools/builder/code_generator.py +3703 -0
- icdev/tools/builder/db_init_generator.py +1709 -0
- icdev/tools/builder/dev_profile_manager.py +954 -0
- icdev/tools/builder/formatter.py +768 -0
- icdev/tools/builder/goal_adapter.py +592 -0
- icdev/tools/builder/gotcha_validator.py +812 -0
- icdev/tools/builder/language_support.py +441 -0
- icdev/tools/builder/linter.py +976 -0
- icdev/tools/builder/profile_detector.py +657 -0
- icdev/tools/builder/profile_md_generator.py +723 -0
- icdev/tools/builder/scaffolder.py +1590 -0
- icdev/tools/builder/scaffolder_extended.py +1771 -0
- icdev/tools/builder/test_writer.py +950 -0
- icdev/tools/ci/__init__.py +2 -0
- icdev/tools/ci/connectors/__init__.py +2 -0
- icdev/tools/ci/connectors/base_connector.py +80 -0
- icdev/tools/ci/connectors/connector_registry.py +188 -0
- icdev/tools/ci/connectors/mattermost_connector.py +159 -0
- icdev/tools/ci/connectors/slack_connector.py +197 -0
- icdev/tools/ci/core/__init__.py +2 -0
- icdev/tools/ci/core/air_gap_detector.py +115 -0
- icdev/tools/ci/core/comment_handler.py +192 -0
- icdev/tools/ci/core/conversation_manager.py +479 -0
- icdev/tools/ci/core/event_envelope.py +500 -0
- icdev/tools/ci/core/event_router.py +443 -0
- icdev/tools/ci/core/failure_parser.py +397 -0
- icdev/tools/ci/core/recovery_engine.py +527 -0
- icdev/tools/ci/modules/__init__.py +2 -0
- icdev/tools/ci/modules/agent.py +271 -0
- icdev/tools/ci/modules/git_ops.py +175 -0
- icdev/tools/ci/modules/state.py +117 -0
- icdev/tools/ci/modules/vcs.py +303 -0
- icdev/tools/ci/modules/workflow_ops.py +295 -0
- icdev/tools/ci/modules/worktree.py +340 -0
- icdev/tools/ci/pipeline_config_generator.py +558 -0
- icdev/tools/ci/triggers/__init__.py +2 -0
- icdev/tools/ci/triggers/gitlab_task_monitor.py +330 -0
- icdev/tools/ci/triggers/poll_trigger.py +237 -0
- icdev/tools/ci/triggers/webhook_server.py +356 -0
- icdev/tools/ci/workflows/__init__.py +2 -0
- icdev/tools/ci/workflows/icdev_build.py +140 -0
- icdev/tools/ci/workflows/icdev_comply.py +284 -0
- icdev/tools/ci/workflows/icdev_document.py +152 -0
- icdev/tools/ci/workflows/icdev_e2e.py +188 -0
- icdev/tools/ci/workflows/icdev_patch.py +186 -0
- icdev/tools/ci/workflows/icdev_plan.py +202 -0
- icdev/tools/ci/workflows/icdev_plan_build.py +41 -0
- icdev/tools/ci/workflows/icdev_plan_build_test.py +46 -0
- icdev/tools/ci/workflows/icdev_plan_build_test_review.py +47 -0
- icdev/tools/ci/workflows/icdev_review.py +126 -0
- icdev/tools/ci/workflows/icdev_sdlc.py +261 -0
- icdev/tools/ci/workflows/icdev_test.py +240 -0
- icdev/tools/cli/__init__.py +1 -0
- icdev/tools/cli/output_formatter.py +756 -0
- icdev/tools/cli_formatter.py +42 -0
- icdev/tools/cloud/__init__.py +11 -0
- icdev/tools/cloud/cloud_mode_manager.py +364 -0
- icdev/tools/cloud/csp_changelog.py +383 -0
- icdev/tools/cloud/csp_health_checker.py +268 -0
- icdev/tools/cloud/csp_monitor.py +951 -0
- icdev/tools/cloud/iam_provider.py +593 -0
- icdev/tools/cloud/kms_provider.py +346 -0
- icdev/tools/cloud/monitoring_provider.py +628 -0
- icdev/tools/cloud/provider_factory.py +376 -0
- icdev/tools/cloud/region_validator.py +345 -0
- icdev/tools/cloud/registry_provider.py +563 -0
- icdev/tools/cloud/secrets_provider.py +486 -0
- icdev/tools/cloud/storage_provider.py +446 -0
- icdev/tools/compat/__init__.py +21 -0
- icdev/tools/compat/cli_harmonizer.py +251 -0
- icdev/tools/compat/datetime_utils.py +18 -0
- icdev/tools/compat/db_utils.py +160 -0
- icdev/tools/compat/platform_utils.py +123 -0
- icdev/tools/compliance/__init__.py +1 -0
- icdev/tools/compliance/accountability_manager.py +397 -0
- icdev/tools/compliance/ai_accountability_audit.py +294 -0
- icdev/tools/compliance/ai_impact_assessor.py +273 -0
- icdev/tools/compliance/ai_incident_response.py +301 -0
- icdev/tools/compliance/ai_inventory_manager.py +239 -0
- icdev/tools/compliance/ai_reassessment_scheduler.py +256 -0
- icdev/tools/compliance/ai_transparency_audit.py +248 -0
- icdev/tools/compliance/atlas_assessor.py +278 -0
- icdev/tools/compliance/atlas_report_generator.py +1211 -0
- icdev/tools/compliance/base_assessor.py +597 -0
- icdev/tools/compliance/cato_monitor.py +1385 -0
- icdev/tools/compliance/cato_scheduler.py +699 -0
- icdev/tools/compliance/cjis_assessor.py +76 -0
- icdev/tools/compliance/classification_manager.py +1353 -0
- icdev/tools/compliance/cmmc_assessor.py +1491 -0
- icdev/tools/compliance/cmmc_report_generator.py +1100 -0
- icdev/tools/compliance/compliance_detector.py +463 -0
- icdev/tools/compliance/compliance_exporter.py +427 -0
- icdev/tools/compliance/compliance_status.py +825 -0
- icdev/tools/compliance/control_mapper.py +505 -0
- icdev/tools/compliance/crosswalk_engine.py +1203 -0
- icdev/tools/compliance/cssp_assessor.py +1045 -0
- icdev/tools/compliance/cssp_evidence_collector.py +729 -0
- icdev/tools/compliance/cssp_report_generator.py +1116 -0
- icdev/tools/compliance/cui_marker.py +388 -0
- icdev/tools/compliance/diagram_validator.py +600 -0
- icdev/tools/compliance/emass/__init__.py +2 -0
- icdev/tools/compliance/emass/emass_client.py +840 -0
- icdev/tools/compliance/emass/emass_export.py +777 -0
- icdev/tools/compliance/emass/emass_sync.py +826 -0
- icdev/tools/compliance/eu_ai_act_classifier.py +194 -0
- icdev/tools/compliance/evidence_collector.py +468 -0
- icdev/tools/compliance/fairness_assessor.py +316 -0
- icdev/tools/compliance/fedramp_assessor.py +1808 -0
- icdev/tools/compliance/fedramp_authorization_packager.py +137 -0
- icdev/tools/compliance/fedramp_ksi_generator.py +355 -0
- icdev/tools/compliance/fedramp_report_generator.py +1128 -0
- icdev/tools/compliance/fips199_categorizer.py +881 -0
- icdev/tools/compliance/fips200_validator.py +315 -0
- icdev/tools/compliance/gao_ai_assessor.py +231 -0
- icdev/tools/compliance/gao_evidence_builder.py +308 -0
- icdev/tools/compliance/hipaa_assessor.py +78 -0
- icdev/tools/compliance/hitrust_assessor.py +49 -0
- icdev/tools/compliance/incident_response_plan.py +718 -0
- icdev/tools/compliance/iso27001_assessor.py +92 -0
- icdev/tools/compliance/iso42001_assessor.py +114 -0
- icdev/tools/compliance/ivv_assessor.py +2327 -0
- icdev/tools/compliance/ivv_report_generator.py +1662 -0
- icdev/tools/compliance/model_card_generator.py +297 -0
- icdev/tools/compliance/mosa_assessor.py +117 -0
- icdev/tools/compliance/multi_regime_assessor.py +451 -0
- icdev/tools/compliance/narrative_generator.py +1013 -0
- icdev/tools/compliance/nist_800_207_assessor.py +191 -0
- icdev/tools/compliance/nist_ai_600_1_assessor.py +188 -0
- icdev/tools/compliance/nist_ai_rmf_assessor.py +110 -0
- icdev/tools/compliance/nist_lookup.py +245 -0
- icdev/tools/compliance/omb_m25_21_assessor.py +228 -0
- icdev/tools/compliance/omb_m26_04_assessor.py +188 -0
- icdev/tools/compliance/oscal_catalog_adapter.py +395 -0
- icdev/tools/compliance/oscal_generator.py +2170 -0
- icdev/tools/compliance/oscal_tools.py +1182 -0
- icdev/tools/compliance/owasp_agentic_assessor.py +226 -0
- icdev/tools/compliance/owasp_asi_assessor.py +200 -0
- icdev/tools/compliance/owasp_llm_assessor.py +244 -0
- icdev/tools/compliance/pci_dss_assessor.py +80 -0
- icdev/tools/compliance/pi_compliance_tracker.py +1461 -0
- icdev/tools/compliance/poam_generator.py +405 -0
- icdev/tools/compliance/resolve_marking.py +283 -0
- icdev/tools/compliance/sbd_assessor.py +2068 -0
- icdev/tools/compliance/sbd_report_generator.py +1236 -0
- icdev/tools/compliance/sbom_generator.py +1008 -0
- icdev/tools/compliance/siem_config_generator.py +674 -0
- icdev/tools/compliance/slsa_attestation_generator.py +490 -0
- icdev/tools/compliance/soc2_assessor.py +77 -0
- icdev/tools/compliance/ssp_generator.py +573 -0
- icdev/tools/compliance/stig_checker.py +727 -0
- icdev/tools/compliance/swft_evidence_bundler.py +337 -0
- icdev/tools/compliance/system_card_generator.py +309 -0
- icdev/tools/compliance/traceability_matrix.py +1281 -0
- icdev/tools/compliance/universal_classification_manager.py +1172 -0
- icdev/tools/compliance/xacta/__init__.py +2 -0
- icdev/tools/compliance/xacta/xacta_client.py +449 -0
- icdev/tools/compliance/xacta/xacta_export.py +557 -0
- icdev/tools/compliance/xacta/xacta_sync.py +333 -0
- icdev/tools/compliance/xai_assessor.py +231 -0
- icdev/tools/dashboard/__init__.py +1 -0
- icdev/tools/dashboard/api/__init__.py +1 -0
- icdev/tools/dashboard/api/_pipeline_state.py +17 -0
- icdev/tools/dashboard/api/activity.py +206 -0
- icdev/tools/dashboard/api/admin.py +176 -0
- icdev/tools/dashboard/api/agents.py +53 -0
- icdev/tools/dashboard/api/ai_accountability.py +163 -0
- icdev/tools/dashboard/api/ai_transparency.py +198 -0
- icdev/tools/dashboard/api/audit.py +58 -0
- icdev/tools/dashboard/api/batch.py +666 -0
- icdev/tools/dashboard/api/chat.py +241 -0
- icdev/tools/dashboard/api/cicd.py +219 -0
- icdev/tools/dashboard/api/code_quality.py +223 -0
- icdev/tools/dashboard/api/compliance.py +171 -0
- icdev/tools/dashboard/api/cpmp.py +915 -0
- icdev/tools/dashboard/api/diagrams.py +65 -0
- icdev/tools/dashboard/api/events.py +250 -0
- icdev/tools/dashboard/api/evidence.py +99 -0
- icdev/tools/dashboard/api/fedramp_20x.py +77 -0
- icdev/tools/dashboard/api/govcon.py +1095 -0
- icdev/tools/dashboard/api/intake.py +1171 -0
- icdev/tools/dashboard/api/lineage.py +163 -0
- icdev/tools/dashboard/api/metrics.py +155 -0
- icdev/tools/dashboard/api/nlq.py +72 -0
- icdev/tools/dashboard/api/orchestration.py +472 -0
- icdev/tools/dashboard/api/oscal.py +183 -0
- icdev/tools/dashboard/api/prod_audit.py +183 -0
- icdev/tools/dashboard/api/projects.py +191 -0
- icdev/tools/dashboard/api/proposals.py +1084 -0
- icdev/tools/dashboard/api/traces.py +363 -0
- icdev/tools/dashboard/api/usage.py +234 -0
- icdev/tools/dashboard/app.py +1986 -0
- icdev/tools/dashboard/auth.py +500 -0
- icdev/tools/dashboard/byok.py +245 -0
- icdev/tools/dashboard/chat_manager.py +675 -0
- icdev/tools/dashboard/config.py +116 -0
- icdev/tools/dashboard/diagram_definitions.py +642 -0
- icdev/tools/dashboard/nlq_processor.py +323 -0
- icdev/tools/dashboard/phase_loader.py +136 -0
- icdev/tools/dashboard/sse_manager.py +89 -0
- icdev/tools/dashboard/state_tracker.py +267 -0
- icdev/tools/dashboard/static/css/style.css +706 -0
- icdev/tools/dashboard/static/css/ux.css +2047 -0
- icdev/tools/dashboard/static/js/activity.js +322 -0
- icdev/tools/dashboard/static/js/api.js +161 -0
- icdev/tools/dashboard/static/js/batch.js +814 -0
- icdev/tools/dashboard/static/js/charts.js +618 -0
- icdev/tools/dashboard/static/js/chat.js +1514 -0
- icdev/tools/dashboard/static/js/kanban.js +113 -0
- icdev/tools/dashboard/static/js/live.js +569 -0
- icdev/tools/dashboard/static/js/mermaid-icdev.js +332 -0
- icdev/tools/dashboard/static/js/proposals.js +588 -0
- icdev/tools/dashboard/static/js/shortcuts.js +544 -0
- icdev/tools/dashboard/static/js/tables.js +652 -0
- icdev/tools/dashboard/static/js/tour.js +524 -0
- icdev/tools/dashboard/static/js/ux.js +942 -0
- icdev/tools/dashboard/templates/404.html +10 -0
- icdev/tools/dashboard/templates/activity.html +80 -0
- icdev/tools/dashboard/templates/admin/users.html +144 -0
- icdev/tools/dashboard/templates/ai_accountability.html +235 -0
- icdev/tools/dashboard/templates/ai_transparency.html +263 -0
- icdev/tools/dashboard/templates/base.html +104 -0
- icdev/tools/dashboard/templates/batch.html +23 -0
- icdev/tools/dashboard/templates/chat.html +332 -0
- icdev/tools/dashboard/templates/children.html +149 -0
- icdev/tools/dashboard/templates/cicd.html +253 -0
- icdev/tools/dashboard/templates/code_quality.html +214 -0
- icdev/tools/dashboard/templates/cpmp/cor_detail.html +220 -0
- icdev/tools/dashboard/templates/cpmp/cor_portal.html +91 -0
- icdev/tools/dashboard/templates/cpmp/deliverable_detail.html +197 -0
- icdev/tools/dashboard/templates/cpmp/detail.html +578 -0
- icdev/tools/dashboard/templates/cpmp/portfolio.html +202 -0
- icdev/tools/dashboard/templates/dev_profiles.html +304 -0
- icdev/tools/dashboard/templates/diagrams.html +224 -0
- icdev/tools/dashboard/templates/events/timeline.html +232 -0
- icdev/tools/dashboard/templates/evidence.html +134 -0
- icdev/tools/dashboard/templates/fedramp_20x.html +207 -0
- icdev/tools/dashboard/templates/gateway.html +244 -0
- icdev/tools/dashboard/templates/govcon/capabilities.html +135 -0
- icdev/tools/dashboard/templates/govcon/pipeline.html +214 -0
- icdev/tools/dashboard/templates/govcon/requirements.html +120 -0
- icdev/tools/dashboard/templates/index.html +254 -0
- icdev/tools/dashboard/templates/lineage.html +141 -0
- icdev/tools/dashboard/templates/login.html +51 -0
- icdev/tools/dashboard/templates/monitoring/overview.html +193 -0
- icdev/tools/dashboard/templates/orchestration/dashboard.html +545 -0
- icdev/tools/dashboard/templates/oscal.html +263 -0
- icdev/tools/dashboard/templates/phases.html +150 -0
- icdev/tools/dashboard/templates/prod_audit.html +280 -0
- icdev/tools/dashboard/templates/profile.html +183 -0
- icdev/tools/dashboard/templates/projects/detail.html +583 -0
- icdev/tools/dashboard/templates/projects/list.html +47 -0
- icdev/tools/dashboard/templates/proposals/detail.html +1253 -0
- icdev/tools/dashboard/templates/proposals/list.html +179 -0
- icdev/tools/dashboard/templates/proposals/section_detail.html +193 -0
- icdev/tools/dashboard/templates/provenance.html +181 -0
- icdev/tools/dashboard/templates/query/nlq.html +234 -0
- icdev/tools/dashboard/templates/quick_paths.html +69 -0
- icdev/tools/dashboard/templates/traces.html +155 -0
- icdev/tools/dashboard/templates/translation_detail.html +199 -0
- icdev/tools/dashboard/templates/translations.html +162 -0
- icdev/tools/dashboard/templates/usage.html +225 -0
- icdev/tools/dashboard/templates/wizard.html +539 -0
- icdev/tools/dashboard/templates/xai.html +208 -0
- icdev/tools/dashboard/ux_helpers.py +962 -0
- icdev/tools/dashboard/websocket.py +81 -0
- icdev/tools/db/__init__.py +1 -0
- icdev/tools/db/backup.py +312 -0
- icdev/tools/db/backup_manager.py +832 -0
- icdev/tools/db/init_icdev_db.py +5900 -0
- icdev/tools/db/migrate.py +178 -0
- icdev/tools/db/migration_runner.py +549 -0
- icdev/tools/db/migrations/001_baseline/meta.json +9 -0
- icdev/tools/db/migrations/001_baseline/up.py +68 -0
- icdev/tools/db/migrations/002_memory_enhancements/down.sql +8 -0
- icdev/tools/db/migrations/002_memory_enhancements/meta.json +9 -0
- icdev/tools/db/migrations/002_memory_enhancements/up.py +118 -0
- icdev/tools/db/migrations/003_dev_profiles/meta.json +8 -0
- icdev/tools/db/migrations/003_dev_profiles/up.py +93 -0
- icdev/tools/db/migrations/004_innovation_engine/down.py +19 -0
- icdev/tools/db/migrations/004_innovation_engine/up.py +227 -0
- icdev/tools/db/migrations/005_phase_37_ai_security/down.py +19 -0
- icdev/tools/db/migrations/005_phase_37_ai_security/up.py +258 -0
- icdev/tools/db/migrations/006_phase_36_evolution/down.py +21 -0
- icdev/tools/db/migrations/006_phase_36_evolution/up.py +323 -0
- icdev/tools/db/migrations/007_phase_38_cloud/down.py +14 -0
- icdev/tools/db/migrations/007_phase_38_cloud/up.py +110 -0
- icdev/tools/db/migrations/008_phase36_37_integration/up.py +55 -0
- icdev/tools/db/migrations/__init__.py +2 -0
- icdev/tools/devsecops/__init__.py +2 -0
- icdev/tools/devsecops/attestation_manager.py +458 -0
- icdev/tools/devsecops/network_segmentation_generator.py +614 -0
- icdev/tools/devsecops/pdp_config_generator.py +1256 -0
- icdev/tools/devsecops/pipeline_security_generator.py +484 -0
- icdev/tools/devsecops/policy_generator.py +653 -0
- icdev/tools/devsecops/profile_manager.py +388 -0
- icdev/tools/devsecops/service_mesh_generator.py +1073 -0
- icdev/tools/devsecops/zta_maturity_scorer.py +368 -0
- icdev/tools/devsecops/zta_terraform_generator.py +1303 -0
- icdev/tools/dx/__init__.py +3 -0
- icdev/tools/dx/companion.py +266 -0
- icdev/tools/dx/instruction_generator.py +753 -0
- icdev/tools/dx/mcp_config_generator.py +282 -0
- icdev/tools/dx/skill_translator.py +425 -0
- icdev/tools/dx/tool_detector.py +144 -0
- icdev/tools/extensions/__init__.py +21 -0
- icdev/tools/extensions/builtins/010_ai_governance_chat.py +277 -0
- icdev/tools/extensions/builtins/__init__.py +2 -0
- icdev/tools/extensions/extension_manager.py +455 -0
- icdev/tools/infra/__init__.py +1 -0
- icdev/tools/infra/ansible_generator.py +869 -0
- icdev/tools/infra/dockerfile_generator.py +361 -0
- icdev/tools/infra/infra_status.py +393 -0
- icdev/tools/infra/ironbank_metadata_generator.py +411 -0
- icdev/tools/infra/k8s_generator.py +1002 -0
- icdev/tools/infra/pipeline_generator.py +832 -0
- icdev/tools/infra/rollback.py +400 -0
- icdev/tools/infra/terraform_generator.py +1142 -0
- icdev/tools/infra/terraform_generator_azure.py +1254 -0
- icdev/tools/infra/terraform_generator_gcp.py +953 -0
- icdev/tools/infra/terraform_generator_ibm.py +360 -0
- icdev/tools/infra/terraform_generator_oci.py +919 -0
- icdev/tools/infra/terraform_generator_onprem.py +319 -0
- icdev/tools/innovation/__init__.py +8 -0
- icdev/tools/innovation/competitive_intel.py +492 -0
- icdev/tools/innovation/innovation_manager.py +681 -0
- icdev/tools/innovation/introspective_analyzer.py +774 -0
- icdev/tools/innovation/register_external_patterns.py +440 -0
- icdev/tools/innovation/signal_ranker.py +1038 -0
- icdev/tools/innovation/solution_generator.py +697 -0
- icdev/tools/innovation/standards_monitor.py +466 -0
- icdev/tools/innovation/trend_detector.py +1046 -0
- icdev/tools/innovation/triage_engine.py +1149 -0
- icdev/tools/innovation/web_scanner.py +894 -0
- icdev/tools/installer/__init__.py +1 -0
- icdev/tools/installer/compliance_configurator.py +637 -0
- icdev/tools/installer/installer.py +1711 -0
- icdev/tools/installer/module_registry.py +805 -0
- icdev/tools/installer/platform_setup.py +961 -0
- icdev/tools/integration/__init__.py +2 -0
- icdev/tools/integration/approval_manager.py +561 -0
- icdev/tools/integration/doors_exporter.py +627 -0
- icdev/tools/integration/gitlab_connector.py +784 -0
- icdev/tools/integration/jira_connector.py +774 -0
- icdev/tools/integration/servicenow_connector.py +693 -0
- icdev/tools/knowledge/__init__.py +1 -0
- icdev/tools/knowledge/knowledge_ingest.py +293 -0
- icdev/tools/knowledge/pattern_detector.py +693 -0
- icdev/tools/knowledge/recommendation_engine.py +461 -0
- icdev/tools/knowledge/self_heal_analyzer.py +504 -0
- icdev/tools/llm/__init__.py +72 -0
- icdev/tools/llm/anthropic_provider.py +170 -0
- icdev/tools/llm/azure_openai_provider.py +338 -0
- icdev/tools/llm/bedrock_provider.py +315 -0
- icdev/tools/llm/embedding_provider.py +438 -0
- icdev/tools/llm/gemini_provider.py +381 -0
- icdev/tools/llm/ibm_watsonx_provider.py +232 -0
- icdev/tools/llm/oci_genai_provider.py +462 -0
- icdev/tools/llm/ollama_provider.py +340 -0
- icdev/tools/llm/openai_provider.py +225 -0
- icdev/tools/llm/provider.py +355 -0
- icdev/tools/llm/provider_sdk.py +175 -0
- icdev/tools/llm/router.py +780 -0
- icdev/tools/llm/vertex_ai_provider.py +374 -0
- icdev/tools/maintenance/__init__.py +2 -0
- icdev/tools/maintenance/dependency_scanner.py +1030 -0
- icdev/tools/maintenance/maintenance_auditor.py +815 -0
- icdev/tools/maintenance/remediation_engine.py +966 -0
- icdev/tools/maintenance/vulnerability_checker.py +987 -0
- icdev/tools/mbse/__init__.py +3 -0
- icdev/tools/mbse/des_assessor.py +1186 -0
- icdev/tools/mbse/des_report_generator.py +800 -0
- icdev/tools/mbse/diagram_extractor.py +811 -0
- icdev/tools/mbse/digital_thread.py +1665 -0
- icdev/tools/mbse/model_code_generator.py +1122 -0
- icdev/tools/mbse/model_control_mapper.py +420 -0
- icdev/tools/mbse/pi_model_tracker.py +1093 -0
- icdev/tools/mbse/reqif_parser.py +1483 -0
- icdev/tools/mbse/sync_engine.py +1805 -0
- icdev/tools/mbse/xmi_parser.py +1573 -0
- icdev/tools/mcp/__init__.py +1 -0
- icdev/tools/mcp/base_server.py +535 -0
- icdev/tools/mcp/builder_server.py +725 -0
- icdev/tools/mcp/compliance_server.py +1407 -0
- icdev/tools/mcp/context_indexer.py +199 -0
- icdev/tools/mcp/context_server.py +305 -0
- icdev/tools/mcp/core_server.py +679 -0
- icdev/tools/mcp/devsecops_server.py +432 -0
- icdev/tools/mcp/gap_handlers.py +1079 -0
- icdev/tools/mcp/gateway_server.py +339 -0
- icdev/tools/mcp/generate_registry.py +623 -0
- icdev/tools/mcp/infra_server.py +264 -0
- icdev/tools/mcp/innovation_server.py +316 -0
- icdev/tools/mcp/integration_server.py +527 -0
- icdev/tools/mcp/knowledge_server.py +429 -0
- icdev/tools/mcp/maintenance_server.py +248 -0
- icdev/tools/mcp/marketplace_server.py +499 -0
- icdev/tools/mcp/mbse_server.py +398 -0
- icdev/tools/mcp/modernization_server.py +496 -0
- icdev/tools/mcp/observability_server.py +354 -0
- icdev/tools/mcp/requirements_server.py +415 -0
- icdev/tools/mcp/simulation_server.py +468 -0
- icdev/tools/mcp/standalone/__init__.py +2 -0
- icdev/tools/mcp/standalone/builder.py +59 -0
- icdev/tools/mcp/standalone/compliance.py +59 -0
- icdev/tools/mcp/standalone/core.py +59 -0
- icdev/tools/mcp/standalone/knowledge.py +59 -0
- icdev/tools/mcp/standalone/maintenance.py +59 -0
- icdev/tools/mcp/supply_chain_server.py +476 -0
- icdev/tools/mcp/tool_registry.py +2008 -0
- icdev/tools/mcp/unified_server.py +158 -0
- icdev/tools/memory/__init__.py +2 -0
- icdev/tools/memory/auto_capture.py +347 -0
- icdev/tools/memory/embed_memory.py +158 -0
- icdev/tools/memory/history_compressor.py +334 -0
- icdev/tools/memory/hybrid_search.py +236 -0
- icdev/tools/memory/maintenance_cron.py +289 -0
- icdev/tools/memory/memory_consolidation.py +444 -0
- icdev/tools/memory/memory_db.py +133 -0
- icdev/tools/memory/memory_read.py +102 -0
- icdev/tools/memory/memory_write.py +222 -0
- icdev/tools/memory/semantic_search.py +139 -0
- icdev/tools/memory/time_decay.py +435 -0
- icdev/tools/modernization/__init__.py +3 -0
- icdev/tools/modernization/architecture_extractor.py +734 -0
- icdev/tools/modernization/compliance_bridge.py +1499 -0
- icdev/tools/modernization/db_migration_planner.py +1385 -0
- icdev/tools/modernization/doc_generator.py +1428 -0
- icdev/tools/modernization/framework_migrator.py +1525 -0
- icdev/tools/modernization/legacy_analyzer.py +1948 -0
- icdev/tools/modernization/migration_code_generator.py +1639 -0
- icdev/tools/modernization/migration_report_generator.py +1653 -0
- icdev/tools/modernization/migration_tracker.py +1726 -0
- icdev/tools/modernization/monolith_decomposer.py +1508 -0
- icdev/tools/modernization/seven_r_assessor.py +1658 -0
- icdev/tools/modernization/strangler_fig_manager.py +1705 -0
- icdev/tools/modernization/ui_analyzer.py +771 -0
- icdev/tools/modernization/version_migrator.py +1392 -0
- icdev/tools/monitor/__init__.py +1 -0
- icdev/tools/monitor/alert_correlator.py +495 -0
- icdev/tools/monitor/auto_resolver.py +612 -0
- icdev/tools/monitor/health_checker.py +509 -0
- icdev/tools/monitor/heartbeat_daemon.py +792 -0
- icdev/tools/monitor/log_analyzer.py +516 -0
- icdev/tools/monitor/metric_collector.py +496 -0
- icdev/tools/mosa/__init__.py +10 -0
- icdev/tools/mosa/icd_generator.py +370 -0
- icdev/tools/mosa/modular_design_analyzer.py +683 -0
- icdev/tools/mosa/mosa_code_enforcer.py +349 -0
- icdev/tools/mosa/tsp_generator.py +265 -0
- icdev/tools/observability/__init__.py +100 -0
- icdev/tools/observability/genai_attributes.py +88 -0
- icdev/tools/observability/instrumentation.py +140 -0
- icdev/tools/observability/mlflow_exporter.py +194 -0
- icdev/tools/observability/otel_tracer.py +168 -0
- icdev/tools/observability/provenance/__init__.py +3 -0
- icdev/tools/observability/provenance/prov_recorder.py +324 -0
- icdev/tools/observability/shap/__init__.py +3 -0
- icdev/tools/observability/shap/agent_shap.py +275 -0
- icdev/tools/observability/sqlite_tracer.py +361 -0
- icdev/tools/observability/trace_context.py +205 -0
- icdev/tools/observability/tracer.py +230 -0
- icdev/tools/orchestration/__init__.py +2 -0
- icdev/tools/orchestration/workflow_composer.py +361 -0
- icdev/tools/project/__init__.py +1 -0
- icdev/tools/project/manifest_loader.py +418 -0
- icdev/tools/project/project_create.py +350 -0
- icdev/tools/project/project_list.py +174 -0
- icdev/tools/project/project_scaffold.py +1715 -0
- icdev/tools/project/project_status.py +479 -0
- icdev/tools/project/session_context_builder.py +757 -0
- icdev/tools/project/validate_manifest.py +55 -0
- icdev/tools/registry/__init__.py +10 -0
- icdev/tools/registry/absorption_engine.py +832 -0
- icdev/tools/registry/capability_evaluator.py +668 -0
- icdev/tools/registry/child_registry.py +617 -0
- icdev/tools/registry/cross_pollinator.py +1065 -0
- icdev/tools/registry/genome_manager.py +671 -0
- icdev/tools/registry/learning_collector.py +912 -0
- icdev/tools/registry/propagation_manager.py +942 -0
- icdev/tools/registry/staging_manager.py +742 -0
- icdev/tools/registry/telemetry_collector.py +423 -0
- icdev/tools/requirements/__init__.py +1 -0
- icdev/tools/requirements/ai_governance_scorer.py +208 -0
- icdev/tools/requirements/boundary_analyzer.py +1293 -0
- icdev/tools/requirements/clarification_engine.py +618 -0
- icdev/tools/requirements/complexity_scorer.py +387 -0
- icdev/tools/requirements/consistency_analyzer.py +803 -0
- icdev/tools/requirements/constitution_manager.py +605 -0
- icdev/tools/requirements/decomposition_engine.py +778 -0
- icdev/tools/requirements/document_extractor.py +1016 -0
- icdev/tools/requirements/elicitation_techniques.py +519 -0
- icdev/tools/requirements/gap_detector.py +271 -0
- icdev/tools/requirements/intake_engine.py +2188 -0
- icdev/tools/requirements/prd_generator.py +847 -0
- icdev/tools/requirements/prd_validator.py +595 -0
- icdev/tools/requirements/readiness_scorer.py +313 -0
- icdev/tools/requirements/spec_organizer.py +1029 -0
- icdev/tools/requirements/spec_quality_checker.py +1097 -0
- icdev/tools/requirements/traceability_builder.py +579 -0
- icdev/tools/resilience/__init__.py +34 -0
- icdev/tools/resilience/circuit_breaker.py +340 -0
- icdev/tools/resilience/correlation.py +150 -0
- icdev/tools/resilience/errors.py +81 -0
- icdev/tools/resilience/retry.py +95 -0
- icdev/tools/schemas/__init__.py +27 -0
- icdev/tools/schemas/chat.py +61 -0
- icdev/tools/schemas/compliance.py +56 -0
- icdev/tools/schemas/core.py +85 -0
- icdev/tools/schemas/innovation.py +37 -0
- icdev/tools/schemas/validation.py +109 -0
- icdev/tools/sdk/__init__.py +3 -0
- icdev/tools/sdk/icdev_client.py +218 -0
- icdev/tools/security/__init__.py +1 -0
- icdev/tools/security/agent_output_validator.py +330 -0
- icdev/tools/security/agent_trust_scorer.py +466 -0
- icdev/tools/security/ai_bom_generator.py +725 -0
- icdev/tools/security/ai_telemetry_logger.py +469 -0
- icdev/tools/security/atlas_red_team.py +543 -0
- icdev/tools/security/code_pattern_scanner.py +378 -0
- icdev/tools/security/confabulation_detector.py +271 -0
- icdev/tools/security/container_scanner.py +491 -0
- icdev/tools/security/dependency_auditor.py +944 -0
- icdev/tools/security/endpoint_security_scanner.py +579 -0
- icdev/tools/security/mcp_tool_authorizer.py +243 -0
- icdev/tools/security/prompt_injection_detector.py +737 -0
- icdev/tools/security/sast_runner.py +948 -0
- icdev/tools/security/secret_detector.py +378 -0
- icdev/tools/security/tool_chain_validator.py +357 -0
- icdev/tools/security/vuln_scanner.py +539 -0
- icdev/tools/simulation/__init__.py +2 -0
- icdev/tools/simulation/coa_generator.py +1552 -0
- icdev/tools/simulation/monte_carlo.py +758 -0
- icdev/tools/simulation/scenario_manager.py +1073 -0
- icdev/tools/simulation/simulation_engine.py +1104 -0
- icdev/tools/supply_chain/__init__.py +2 -0
- icdev/tools/supply_chain/cve_triager.py +705 -0
- icdev/tools/supply_chain/dependency_graph.py +645 -0
- icdev/tools/supply_chain/isa_manager.py +540 -0
- icdev/tools/supply_chain/scrm_assessor.py +546 -0
- icdev/tools/testing/__init__.py +2 -0
- icdev/tools/testing/acceptance_validator.py +411 -0
- icdev/tools/testing/claude_dir_validator.py +831 -0
- icdev/tools/testing/data_types.py +199 -0
- icdev/tools/testing/e2e_runner.py +715 -0
- icdev/tools/testing/fuzz_cli.py +306 -0
- icdev/tools/testing/health_check.py +483 -0
- icdev/tools/testing/platform_check.py +143 -0
- icdev/tools/testing/production_audit.py +1862 -0
- icdev/tools/testing/production_remediate.py +804 -0
- icdev/tools/testing/screenshot_validator.py +539 -0
- icdev/tools/testing/smoke_test.py +283 -0
- icdev/tools/testing/test_agent_models.py +117 -0
- icdev/tools/testing/test_orchestrator.py +957 -0
- icdev/tools/testing/utils.py +229 -0
- icdev/tools/translation/__init__.py +17 -0
- icdev/tools/translation/code_translator.py +550 -0
- icdev/tools/translation/dependency_mapper.py +277 -0
- icdev/tools/translation/feature_map.py +395 -0
- icdev/tools/translation/project_assembler.py +439 -0
- icdev/tools/translation/source_extractor.py +609 -0
- icdev/tools/translation/test_translator.py +333 -0
- icdev/tools/translation/translation_manager.py +582 -0
- icdev/tools/translation/translation_validator.py +662 -0
- icdev/tools/translation/type_checker.py +371 -0
- icdev-1.0.0.dist-info/METADATA +868 -0
- icdev-1.0.0.dist-info/RECORD +1105 -0
- icdev-1.0.0.dist-info/WHEEL +5 -0
- icdev-1.0.0.dist-info/entry_points.txt +9 -0
- icdev-1.0.0.dist-info/licenses/LICENSE +254 -0
- icdev-1.0.0.dist-info/licenses/NOTICE +268 -0
- icdev-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,718 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# CUI // SP-CTI
|
|
3
|
+
"""Generate a project-specific Incident Response Plan per CSSP SOC requirements.
|
|
4
|
+
Fills {{variables}} from project data in icdev.db, applies CUI markings,
|
|
5
|
+
saves to project compliance directory, and logs an audit event."""
|
|
6
|
+
|
|
7
|
+
import argparse
|
|
8
|
+
import json
|
|
9
|
+
import re
|
|
10
|
+
import sqlite3
|
|
11
|
+
import sys
|
|
12
|
+
from datetime import datetime, timezone
|
|
13
|
+
from pathlib import Path
|
|
14
|
+
from icdev._paths import get_project_root
|
|
15
|
+
|
|
16
|
+
BASE_DIR = get_project_root()
|
|
17
|
+
DB_PATH = BASE_DIR / "data" / "icdev.db"
|
|
18
|
+
IR_TEMPLATE_PATH = BASE_DIR / "context" / "compliance" / "incident_response_template.md"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# ---------------------------------------------------------------------------
|
|
22
|
+
# Helper functions
|
|
23
|
+
# ---------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
def _get_connection(db_path=None):
|
|
26
|
+
"""Get a database connection."""
|
|
27
|
+
path = db_path or DB_PATH
|
|
28
|
+
if not path.exists():
|
|
29
|
+
raise FileNotFoundError(
|
|
30
|
+
f"Database not found: {path}\n"
|
|
31
|
+
"Run: python tools/db/init_icdev_db.py"
|
|
32
|
+
)
|
|
33
|
+
conn = sqlite3.connect(str(path))
|
|
34
|
+
conn.row_factory = sqlite3.Row
|
|
35
|
+
return conn
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _load_template(path=None):
|
|
39
|
+
"""Load the IR plan template markdown.
|
|
40
|
+
|
|
41
|
+
Returns the template string if the file exists, or *None* so the caller
|
|
42
|
+
can fall back to generating a default plan inline.
|
|
43
|
+
"""
|
|
44
|
+
template_path = path or IR_TEMPLATE_PATH
|
|
45
|
+
if not template_path.exists():
|
|
46
|
+
return None
|
|
47
|
+
with open(template_path, "r", encoding="utf-8") as f:
|
|
48
|
+
return f.read()
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def _get_project_data(conn, project_id):
|
|
52
|
+
"""Load project record from database."""
|
|
53
|
+
row = conn.execute(
|
|
54
|
+
"SELECT * FROM projects WHERE id = ?", (project_id,)
|
|
55
|
+
).fetchone()
|
|
56
|
+
if not row:
|
|
57
|
+
raise ValueError(f"Project '{project_id}' not found in database.")
|
|
58
|
+
return dict(row)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def _load_cui_config():
|
|
62
|
+
"""Load CUI marking configuration."""
|
|
63
|
+
try:
|
|
64
|
+
sys.path.insert(0, str(BASE_DIR / "tools" / "compliance"))
|
|
65
|
+
from cui_marker import load_cui_config
|
|
66
|
+
return load_cui_config()
|
|
67
|
+
except ImportError:
|
|
68
|
+
return {
|
|
69
|
+
"document_header": (
|
|
70
|
+
"////////////////////////////////////////////////////////////////////\n"
|
|
71
|
+
"CONTROLLED UNCLASSIFIED INFORMATION (CUI) // SP-CTI\n"
|
|
72
|
+
"Distribution: Distribution D -- Authorized DoD Personnel Only\n"
|
|
73
|
+
"////////////////////////////////////////////////////////////////////"
|
|
74
|
+
),
|
|
75
|
+
"document_footer": (
|
|
76
|
+
"////////////////////////////////////////////////////////////////////\n"
|
|
77
|
+
"CONTROLLED UNCLASSIFIED INFORMATION (CUI) // SP-CTI\n"
|
|
78
|
+
"////////////////////////////////////////////////////////////////////"
|
|
79
|
+
),
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _load_project_defaults():
|
|
84
|
+
"""Load project defaults from args/project_defaults.yaml.
|
|
85
|
+
|
|
86
|
+
Returns a dict. If pyyaml is unavailable or the file is missing the
|
|
87
|
+
function returns sensible hardcoded defaults so the tool still works in
|
|
88
|
+
minimal environments.
|
|
89
|
+
"""
|
|
90
|
+
defaults_path = BASE_DIR / "args" / "project_defaults.yaml"
|
|
91
|
+
if defaults_path.exists():
|
|
92
|
+
try:
|
|
93
|
+
import yaml # pyyaml — optional dependency
|
|
94
|
+
with open(defaults_path, "r", encoding="utf-8") as f:
|
|
95
|
+
return yaml.safe_load(f) or {}
|
|
96
|
+
except ImportError:
|
|
97
|
+
pass
|
|
98
|
+
except Exception as exc:
|
|
99
|
+
print(f"Warning: Could not parse project defaults: {exc}", file=sys.stderr)
|
|
100
|
+
return {}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def _log_audit_event(conn, project_id, action, details, file_path=None):
|
|
104
|
+
"""Log an audit trail event for IR plan generation."""
|
|
105
|
+
try:
|
|
106
|
+
conn.execute(
|
|
107
|
+
"""INSERT INTO audit_trail
|
|
108
|
+
(project_id, event_type, actor, action, details,
|
|
109
|
+
affected_files, classification)
|
|
110
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)""",
|
|
111
|
+
(
|
|
112
|
+
project_id,
|
|
113
|
+
"ir_plan_generated",
|
|
114
|
+
"icdev-compliance-engine",
|
|
115
|
+
action,
|
|
116
|
+
json.dumps(details),
|
|
117
|
+
json.dumps([str(file_path)] if file_path else []),
|
|
118
|
+
"CUI",
|
|
119
|
+
),
|
|
120
|
+
)
|
|
121
|
+
conn.commit()
|
|
122
|
+
except Exception as e:
|
|
123
|
+
print(f"Warning: Could not log audit event: {e}", file=sys.stderr)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# ---------------------------------------------------------------------------
|
|
127
|
+
# Default IR plan template (used when the on-disk template is missing)
|
|
128
|
+
# ---------------------------------------------------------------------------
|
|
129
|
+
|
|
130
|
+
def _generate_default_template():
|
|
131
|
+
"""Return a comprehensive IR plan template with {{variable}} placeholders.
|
|
132
|
+
|
|
133
|
+
Sections follow NIST SP 800-61 and CSSP SOC reporting requirements.
|
|
134
|
+
"""
|
|
135
|
+
return """\
|
|
136
|
+
# Incident Response Plan
|
|
137
|
+
|
|
138
|
+
**System Name:** {{system_name}}
|
|
139
|
+
**System ID:** {{system_id}}
|
|
140
|
+
**Classification:** {{classification}}
|
|
141
|
+
**Plan Version:** {{plan_version}}
|
|
142
|
+
**Effective Date:** {{plan_date}}
|
|
143
|
+
**Operating Environment:** {{operating_environment}}
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 1. Document Control
|
|
148
|
+
|
|
149
|
+
| Field | Value |
|
|
150
|
+
|-------|-------|
|
|
151
|
+
| Document Title | Incident Response Plan — {{system_name}} |
|
|
152
|
+
| Version | {{plan_version}} |
|
|
153
|
+
| Date | {{plan_date}} |
|
|
154
|
+
| Classification | {{classification}} |
|
|
155
|
+
| Prepared By | {{prepared_by}} |
|
|
156
|
+
| System Owner | {{system_owner}} |
|
|
157
|
+
| ISSM | {{issm_name}} |
|
|
158
|
+
| ISSO | {{isso_name}} |
|
|
159
|
+
|
|
160
|
+
### Revision History
|
|
161
|
+
|
|
162
|
+
| Version | Date | Author | Description |
|
|
163
|
+
|---------|------|--------|-------------|
|
|
164
|
+
| {{plan_version}} | {{plan_date}} | {{prepared_by}} | {{revision_description}} |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 2. Purpose and Scope
|
|
169
|
+
|
|
170
|
+
This Incident Response Plan (IRP) establishes the procedures for detecting,
|
|
171
|
+
reporting, analyzing, containing, eradicating, and recovering from
|
|
172
|
+
cybersecurity incidents affecting **{{system_name}}** ({{system_id}}).
|
|
173
|
+
|
|
174
|
+
**Scope:**
|
|
175
|
+
- All components within the authorization boundary of {{system_name}}
|
|
176
|
+
- System boundary: {{system_boundary}}
|
|
177
|
+
- Operating environment: {{operating_environment}}
|
|
178
|
+
- All personnel with administrative or user access to the system
|
|
179
|
+
|
|
180
|
+
This plan is developed in accordance with:
|
|
181
|
+
- NIST SP 800-61 Rev. 2 — Computer Security Incident Handling Guide
|
|
182
|
+
- NIST SP 800-53 Rev. 5 — IR Control Family
|
|
183
|
+
- CJCSM 6510.01B — Cyber Incident Handling Program
|
|
184
|
+
- CSSP SOC reporting requirements
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 3. Roles and Responsibilities
|
|
189
|
+
|
|
190
|
+
| Role | Name / Org | Responsibilities |
|
|
191
|
+
|------|-----------|-----------------|
|
|
192
|
+
| System Owner | {{system_owner}} | Overall accountability; authorizes containment/recovery actions |
|
|
193
|
+
| ISSM | {{issm_name}} | Security oversight; coordinates with AO and CSSP |
|
|
194
|
+
| ISSO | {{isso_name}} | Day-to-day security; initial triage and escalation |
|
|
195
|
+
| Incident Commander | {{incident_commander}} | Leads response team during active incidents |
|
|
196
|
+
| IR Team Lead | {{ir_team_lead}} | Technical investigation and coordination |
|
|
197
|
+
| SOC Analyst | {{soc_analyst}} | Monitoring, detection, initial analysis |
|
|
198
|
+
| System Administrator | {{system_admin}} | System-level containment and recovery actions |
|
|
199
|
+
| Communications Lead | {{comms_lead}} | Internal/external notifications and status updates |
|
|
200
|
+
| Legal / Privacy | {{legal_contact}} | Legal review, PII breach requirements |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 4. Incident Classification
|
|
205
|
+
|
|
206
|
+
### 4.1 Severity Levels
|
|
207
|
+
|
|
208
|
+
| Severity | Definition | Examples |
|
|
209
|
+
|----------|-----------|----------|
|
|
210
|
+
| **Critical** | Active exploitation with confirmed data exfiltration or system compromise; mission-critical impact | APT activity, ransomware with data loss, CUI spillage to unclassified system |
|
|
211
|
+
| **High** | Confirmed malicious activity with potential for significant impact; degraded mission capability | Successful phishing with credential compromise, unauthorized privileged access, malware on production host |
|
|
212
|
+
| **Moderate** | Suspicious activity requiring investigation; limited operational impact | Failed brute-force attempts, policy violations, unauthorized software installation |
|
|
213
|
+
| **Low** | Minor policy deviation or informational event; no operational impact | Single failed login, minor configuration drift, expired certificate detected before impact |
|
|
214
|
+
|
|
215
|
+
### 4.2 Incident Categories (per CJCSM 6510.01B)
|
|
216
|
+
|
|
217
|
+
| Category | Description |
|
|
218
|
+
|----------|-------------|
|
|
219
|
+
| CAT 1 | Root-Level Intrusion (Unauthorized privileged access) |
|
|
220
|
+
| CAT 2 | User-Level Intrusion (Unauthorized user-level access) |
|
|
221
|
+
| CAT 3 | Unsuccessful Activity Attempt |
|
|
222
|
+
| CAT 4 | Denial of Service |
|
|
223
|
+
| CAT 5 | Non-Compliance Activity |
|
|
224
|
+
| CAT 6 | Reconnaissance / Scanning |
|
|
225
|
+
| CAT 7 | Malicious Logic (Malware) |
|
|
226
|
+
| CAT 8 | Investigating |
|
|
227
|
+
| CAT 9 | Explained Anomaly |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 5. Reporting Timelines
|
|
232
|
+
|
|
233
|
+
All timelines begin from the moment of **confirmed detection**.
|
|
234
|
+
|
|
235
|
+
| Severity | Internal Report | CSSP SOC Report | Command Notification | Full Report Due |
|
|
236
|
+
|----------|----------------|-----------------|---------------------|-----------------|
|
|
237
|
+
| **Critical** | {{reporting_critical}} | {{reporting_critical}} | {{reporting_critical}} | 72 hours |
|
|
238
|
+
| **High** | {{reporting_high}} | {{reporting_high}} | 48 hours | 5 business days |
|
|
239
|
+
| **Moderate** | {{reporting_moderate}} | {{reporting_moderate}} | 5 business days | 10 business days |
|
|
240
|
+
| **Low** | 5 business days | Next scheduled report | N/A | 30 days |
|
|
241
|
+
|
|
242
|
+
**CSSP SOC Contact Information:**
|
|
243
|
+
- Phone: {{cssp_soc_phone}}
|
|
244
|
+
- Email: {{cssp_soc_email}}
|
|
245
|
+
- Ticket Portal: {{cssp_soc_portal}}
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 6. Detection and Analysis
|
|
250
|
+
|
|
251
|
+
### 6.1 Detection Sources
|
|
252
|
+
|
|
253
|
+
- SIEM alerts (ELK / Splunk)
|
|
254
|
+
- IDS/IPS notifications
|
|
255
|
+
- Endpoint Detection and Response (EDR)
|
|
256
|
+
- User reports
|
|
257
|
+
- Vulnerability scanning results
|
|
258
|
+
- Audit log anomalies (Prometheus / Grafana alerts)
|
|
259
|
+
- CSSP SOC notifications
|
|
260
|
+
- External threat intelligence feeds
|
|
261
|
+
|
|
262
|
+
### 6.2 Analysis Procedures
|
|
263
|
+
|
|
264
|
+
1. **Triage** — ISSO/SOC Analyst validates alert within 15 minutes of detection
|
|
265
|
+
2. **Classification** — Assign severity level and incident category (Section 4)
|
|
266
|
+
3. **Scope Assessment** — Determine affected systems, data, and users
|
|
267
|
+
4. **Impact Analysis** — Evaluate mission impact and CUI exposure risk
|
|
268
|
+
5. **Evidence Collection** — Begin evidence preservation (Section 9) immediately
|
|
269
|
+
6. **Documentation** — Create incident ticket; log all actions with timestamps
|
|
270
|
+
|
|
271
|
+
### 6.3 Indicators of Compromise (IOC) Tracking
|
|
272
|
+
|
|
273
|
+
Maintain running IOC list during analysis:
|
|
274
|
+
- IP addresses, domains, URLs
|
|
275
|
+
- File hashes (MD5, SHA-256)
|
|
276
|
+
- Registry modifications
|
|
277
|
+
- User accounts involved
|
|
278
|
+
- Network connections / C2 channels
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 7. Containment Procedures
|
|
283
|
+
|
|
284
|
+
### 7.1 Short-Term Containment (Immediate — within {{reporting_critical}} of classification)
|
|
285
|
+
|
|
286
|
+
- Isolate affected system(s) from the network
|
|
287
|
+
- Block identified malicious IPs/domains at firewall/WAF
|
|
288
|
+
- Disable compromised user accounts
|
|
289
|
+
- Capture volatile evidence (memory, running processes, network connections)
|
|
290
|
+
- Activate backup authentication mechanisms if primary is compromised
|
|
291
|
+
- Notify CSSP SOC per reporting timelines (Section 5)
|
|
292
|
+
|
|
293
|
+
### 7.2 Long-Term Containment (Within 24 hours)
|
|
294
|
+
|
|
295
|
+
- Apply temporary patches or workarounds
|
|
296
|
+
- Redirect traffic to clean systems where possible
|
|
297
|
+
- Implement enhanced monitoring on affected segments
|
|
298
|
+
- Deploy additional detection signatures
|
|
299
|
+
- Establish clean staging environment for recovery
|
|
300
|
+
|
|
301
|
+
### 7.3 Containment Decision Matrix
|
|
302
|
+
|
|
303
|
+
| Severity | Isolate System | Block Network | Disable Accounts | Notify CSSP |
|
|
304
|
+
|----------|---------------|---------------|-------------------|-------------|
|
|
305
|
+
| Critical | Immediate | Immediate | Immediate | {{reporting_critical}} |
|
|
306
|
+
| High | Within 1 hour | Within 1 hour | Case-by-case | {{reporting_high}} |
|
|
307
|
+
| Moderate | Case-by-case | If applicable | If applicable | {{reporting_moderate}} |
|
|
308
|
+
| Low | No | No | No | Next scheduled |
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 8. Eradication and Recovery
|
|
313
|
+
|
|
314
|
+
### 8.1 Eradication
|
|
315
|
+
|
|
316
|
+
1. Identify root cause and all attack vectors
|
|
317
|
+
2. Remove malware, backdoors, and unauthorized accounts
|
|
318
|
+
3. Patch exploited vulnerabilities
|
|
319
|
+
4. Reset all potentially compromised credentials
|
|
320
|
+
5. Validate removal with targeted scanning
|
|
321
|
+
6. Update IDS/IPS signatures based on findings
|
|
322
|
+
|
|
323
|
+
### 8.2 Recovery
|
|
324
|
+
|
|
325
|
+
1. Restore systems from known-good backups (verify integrity)
|
|
326
|
+
2. Rebuild compromised systems from hardened baselines
|
|
327
|
+
3. Reintroduce systems to production incrementally
|
|
328
|
+
4. Validate functionality through testing (smoke, integration, security)
|
|
329
|
+
5. Monitor recovered systems with enhanced logging for 30 days minimum
|
|
330
|
+
6. Confirm no re-infection over monitoring period
|
|
331
|
+
|
|
332
|
+
### 8.3 Recovery Prioritization
|
|
333
|
+
|
|
334
|
+
| Priority | Systems | RTO |
|
|
335
|
+
|----------|---------|-----|
|
|
336
|
+
| P1 — Mission Critical | Core application services, authentication | 4 hours |
|
|
337
|
+
| P2 — Essential | Database, API gateways, monitoring | 8 hours |
|
|
338
|
+
| P3 — Supporting | Development environments, documentation | 24 hours |
|
|
339
|
+
| P4 — Deferrable | Non-production, analytics | 72 hours |
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## 9. Evidence Preservation
|
|
344
|
+
|
|
345
|
+
### 9.1 Collection Requirements
|
|
346
|
+
|
|
347
|
+
All evidence must be collected and preserved in accordance with federal
|
|
348
|
+
rules of evidence and chain-of-custody requirements.
|
|
349
|
+
|
|
350
|
+
**Collect (in order of volatility):**
|
|
351
|
+
1. Memory dumps (RAM)
|
|
352
|
+
2. Running processes and network connections
|
|
353
|
+
3. Temporary file systems
|
|
354
|
+
4. Disk images (forensic bit-for-bit copy)
|
|
355
|
+
5. Firewall, IDS, and SIEM logs
|
|
356
|
+
6. Application and system logs
|
|
357
|
+
7. Network traffic captures (PCAP)
|
|
358
|
+
|
|
359
|
+
### 9.2 Chain of Custody
|
|
360
|
+
|
|
361
|
+
- Record: who collected, when, from where, hash of evidence
|
|
362
|
+
- Store evidence in tamper-evident, access-controlled location
|
|
363
|
+
- Maintain custody log with every transfer documented
|
|
364
|
+
- All evidence classified at minimum: {{classification}}
|
|
365
|
+
|
|
366
|
+
### 9.3 Evidence Retention
|
|
367
|
+
|
|
368
|
+
- Retain all incident evidence for a minimum of **3 years**
|
|
369
|
+
- Critical/High incidents: retain for **6 years** or per records schedule
|
|
370
|
+
- Never destroy evidence while an investigation is active
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## 10. Communication Plan
|
|
375
|
+
|
|
376
|
+
### 10.1 Internal Communications
|
|
377
|
+
|
|
378
|
+
| Audience | Method | Timing | Owner |
|
|
379
|
+
|----------|--------|--------|-------|
|
|
380
|
+
| IR Team | Secure chat / phone bridge | Immediate | IR Team Lead |
|
|
381
|
+
| System Owner | Phone + encrypted email | Within {{reporting_critical}} (Critical) | ISSO |
|
|
382
|
+
| ISSM | Phone + encrypted email | Within {{reporting_critical}} (Critical) | ISSO |
|
|
383
|
+
| All system users | Encrypted email | As directed by Incident Commander | Communications Lead |
|
|
384
|
+
| Leadership | Briefing | Within 4 hours (Critical/High) | System Owner |
|
|
385
|
+
|
|
386
|
+
### 10.2 External Communications
|
|
387
|
+
|
|
388
|
+
| Audience | Method | Timing | Owner |
|
|
389
|
+
|----------|--------|--------|-------|
|
|
390
|
+
| CSSP SOC | CSSP reporting portal / phone | Per Section 5 timelines | ISSM |
|
|
391
|
+
| Authorizing Official | Encrypted email / briefing | Within 24 hours (Critical/High) | ISSM |
|
|
392
|
+
| US-CERT | Per federal reporting requirements | Per US-CERT timelines | ISSM |
|
|
393
|
+
| Law Enforcement | Phone / in-person | If criminal activity suspected | Legal / Privacy |
|
|
394
|
+
| Affected individuals | Written notification | Per PII breach requirements | Legal / Privacy |
|
|
395
|
+
|
|
396
|
+
### 10.3 Communication Security
|
|
397
|
+
|
|
398
|
+
- All incident communications must use encrypted channels
|
|
399
|
+
- Do not discuss incident details on unclassified/unencrypted systems
|
|
400
|
+
- Apply {{classification}} markings to all incident documentation
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## 11. Escalation Matrix
|
|
405
|
+
|
|
406
|
+
| Severity | Response Time | First Notify | Escalate To | Command Notify |
|
|
407
|
+
|----------|--------------|-------------|-------------|----------------|
|
|
408
|
+
| **Critical** | Immediate | ISSO + IR Team | ISSM + System Owner + CSSP SOC | Within {{reporting_critical}} |
|
|
409
|
+
| **High** | Within 1 hour | ISSO + IR Team | ISSM + System Owner | Within {{reporting_high}} |
|
|
410
|
+
| **Moderate** | Within 4 hours | ISSO | ISSM (if needed) | Within {{reporting_moderate}} |
|
|
411
|
+
| **Low** | Next business day | ISSO | N/A | N/A |
|
|
412
|
+
|
|
413
|
+
### Escalation Triggers
|
|
414
|
+
|
|
415
|
+
Escalate to next level immediately if any of the following occur:
|
|
416
|
+
- Incident scope expands beyond initial assessment
|
|
417
|
+
- CUI confirmed exfiltrated or exposed
|
|
418
|
+
- Additional systems compromised
|
|
419
|
+
- Containment measures fail
|
|
420
|
+
- Media inquiry received
|
|
421
|
+
- Incident duration exceeds expected resolution time by 2x
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
## 12. CSSP SOC Integration
|
|
426
|
+
|
|
427
|
+
### 12.1 Reporting Requirements
|
|
428
|
+
|
|
429
|
+
- Submit initial incident report to CSSP SOC within timelines in Section 5
|
|
430
|
+
- Provide updates every **4 hours** for Critical, **12 hours** for High
|
|
431
|
+
- Submit final incident report within **10 business days** of closure
|
|
432
|
+
|
|
433
|
+
### 12.2 CSSP SOC Support
|
|
434
|
+
|
|
435
|
+
The CSSP SOC may provide:
|
|
436
|
+
- Threat intelligence and IOC correlation
|
|
437
|
+
- Network-level containment assistance
|
|
438
|
+
- Forensic analysis support
|
|
439
|
+
- Coordination with other affected organizations
|
|
440
|
+
- Situational awareness reporting
|
|
441
|
+
|
|
442
|
+
### 12.3 Information Sharing
|
|
443
|
+
|
|
444
|
+
- Share IOCs with CSSP SOC for cross-organizational defense
|
|
445
|
+
- Sanitize data before sharing to protect sources and methods
|
|
446
|
+
- All shared information marked: {{classification}}
|
|
447
|
+
- Follow TLP (Traffic Light Protocol) designations as directed by CSSP
|
|
448
|
+
|
|
449
|
+
---
|
|
450
|
+
|
|
451
|
+
## 13. Testing and Exercises
|
|
452
|
+
|
|
453
|
+
### 13.1 Exercise Schedule
|
|
454
|
+
|
|
455
|
+
| Exercise Type | Frequency | Participants | Duration |
|
|
456
|
+
|--------------|-----------|-------------|----------|
|
|
457
|
+
| Tabletop Exercise | Annually (minimum) | Full IR team + System Owner | 2-4 hours |
|
|
458
|
+
| Communications Test | Quarterly | All POCs in escalation matrix | 1 hour |
|
|
459
|
+
| Functional Exercise | Annually | IR team + SOC + system admins | 4-8 hours |
|
|
460
|
+
| Full-Scale Exercise | Every 2 years | All stakeholders + CSSP | 1-2 days |
|
|
461
|
+
|
|
462
|
+
### 13.2 Exercise Requirements
|
|
463
|
+
|
|
464
|
+
- Scenarios must cover Critical and High severity incidents
|
|
465
|
+
- Include at least one CUI spillage scenario per year
|
|
466
|
+
- Document lessons learned within 5 business days of exercise
|
|
467
|
+
- Update this plan within 30 days if exercises reveal gaps
|
|
468
|
+
|
|
469
|
+
### 13.3 After-Action Reviews
|
|
470
|
+
|
|
471
|
+
Every incident (real or exercise) must produce an after-action report:
|
|
472
|
+
1. Timeline of events
|
|
473
|
+
2. What worked well
|
|
474
|
+
3. What needs improvement
|
|
475
|
+
4. Specific action items with owners and deadlines
|
|
476
|
+
5. Updates required to this plan
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## 14. Plan Maintenance
|
|
481
|
+
|
|
482
|
+
### 14.1 Review Schedule
|
|
483
|
+
|
|
484
|
+
- **Annual review** (minimum) — full plan review and update
|
|
485
|
+
- **Post-incident review** — within 30 days of any significant incident
|
|
486
|
+
- **Post-exercise review** — within 30 days of any IR exercise
|
|
487
|
+
- **Personnel change** — update within 10 business days when key POCs change
|
|
488
|
+
- **System change** — update when authorization boundary changes
|
|
489
|
+
|
|
490
|
+
### 14.2 Distribution
|
|
491
|
+
|
|
492
|
+
This plan is distributed to all personnel listed in Section 3 (Roles and
|
|
493
|
+
Responsibilities) and stored in the project compliance directory.
|
|
494
|
+
|
|
495
|
+
### 14.3 Approval
|
|
496
|
+
|
|
497
|
+
| Role | Name | Signature | Date |
|
|
498
|
+
|------|------|-----------|------|
|
|
499
|
+
| System Owner | {{system_owner}} | _________________ | __________ |
|
|
500
|
+
| ISSM | {{issm_name}} | _________________ | __________ |
|
|
501
|
+
| ISSO | {{isso_name}} | _________________ | __________ |
|
|
502
|
+
| Authorizing Official | {{authorizing_official}} | _________________ | __________ |
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
*Generated by ICDEV Compliance Engine v{{icdev_version}} on {{generation_date}}*
|
|
507
|
+
"""
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
# ---------------------------------------------------------------------------
|
|
511
|
+
# Variable substitution
|
|
512
|
+
# ---------------------------------------------------------------------------
|
|
513
|
+
|
|
514
|
+
def _build_variables(project, defaults):
|
|
515
|
+
"""Build the {{variable}} substitution dictionary."""
|
|
516
|
+
now = datetime.now(timezone.utc)
|
|
517
|
+
|
|
518
|
+
# Pull infra settings from project defaults if available
|
|
519
|
+
infra = defaults.get("infrastructure", {})
|
|
520
|
+
cloud = infra.get("cloud", "aws-govcloud")
|
|
521
|
+
region = infra.get("region", "us-gov-west-1")
|
|
522
|
+
default_env = f"AWS GovCloud ({region})" if "govcloud" in cloud.lower() else f"{cloud} ({region})"
|
|
523
|
+
|
|
524
|
+
# Reporting timelines (hardcoded per CSSP SOC standards)
|
|
525
|
+
reporting = {
|
|
526
|
+
"critical": "1 hour",
|
|
527
|
+
"high": "24 hours",
|
|
528
|
+
"moderate": "72 hours",
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
variables = {
|
|
532
|
+
# System identification
|
|
533
|
+
"system_name": project.get("name", "UNNAMED SYSTEM"),
|
|
534
|
+
"system_id": project.get("id", ""),
|
|
535
|
+
"classification": "CUI // SP-CTI",
|
|
536
|
+
|
|
537
|
+
# Reporting timelines
|
|
538
|
+
"reporting_critical": reporting["critical"],
|
|
539
|
+
"reporting_high": reporting["high"],
|
|
540
|
+
"reporting_moderate": reporting["moderate"],
|
|
541
|
+
|
|
542
|
+
# POC placeholders — filled from project metadata or left as TBD
|
|
543
|
+
"system_owner": project.get("system_owner", "[TBD]"),
|
|
544
|
+
"issm_name": project.get("issm_name", "[TBD]"),
|
|
545
|
+
"isso_name": project.get("isso_name", "[TBD]"),
|
|
546
|
+
"incident_commander": project.get("incident_commander", "[TBD]"),
|
|
547
|
+
"ir_team_lead": project.get("ir_team_lead", "[TBD]"),
|
|
548
|
+
"soc_analyst": project.get("soc_analyst", "[TBD]"),
|
|
549
|
+
"system_admin": project.get("system_admin", "[TBD]"),
|
|
550
|
+
"comms_lead": project.get("comms_lead", "[TBD]"),
|
|
551
|
+
"legal_contact": project.get("legal_contact", "[TBD]"),
|
|
552
|
+
"authorizing_official": project.get("authorizing_official", "[TBD]"),
|
|
553
|
+
|
|
554
|
+
# CSSP SOC contact placeholders
|
|
555
|
+
"cssp_soc_phone": project.get("cssp_soc_phone", "[TBD — Obtain from CSSP]"),
|
|
556
|
+
"cssp_soc_email": project.get("cssp_soc_email", "[TBD — Obtain from CSSP]"),
|
|
557
|
+
"cssp_soc_portal": project.get("cssp_soc_portal", "[TBD — Obtain from CSSP]"),
|
|
558
|
+
|
|
559
|
+
# Plan metadata
|
|
560
|
+
"plan_version": "1.0",
|
|
561
|
+
"plan_date": now.strftime("%Y-%m-%d"),
|
|
562
|
+
"prepared_by": "ICDEV Compliance Engine",
|
|
563
|
+
"revision_description": "Initial Incident Response Plan generation",
|
|
564
|
+
|
|
565
|
+
# Environment
|
|
566
|
+
"operating_environment": project.get("operating_environment", default_env),
|
|
567
|
+
"system_boundary": project.get(
|
|
568
|
+
"system_boundary",
|
|
569
|
+
"[TBD - Define authorization boundary]",
|
|
570
|
+
),
|
|
571
|
+
|
|
572
|
+
# Generation metadata
|
|
573
|
+
"icdev_version": "1.0",
|
|
574
|
+
"generation_date": now.strftime("%Y-%m-%d %H:%M UTC"),
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
return variables
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
def _substitute_variables(template, variables):
|
|
581
|
+
"""Replace {{variable_name}} placeholders in the template."""
|
|
582
|
+
def replacer(match):
|
|
583
|
+
key = match.group(1).strip()
|
|
584
|
+
return str(variables.get(key, match.group(0)))
|
|
585
|
+
return re.sub(r"\{\{(\w+)\}\}", replacer, template)
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
# ---------------------------------------------------------------------------
|
|
589
|
+
# Core generation function
|
|
590
|
+
# ---------------------------------------------------------------------------
|
|
591
|
+
|
|
592
|
+
def generate_ir_plan(project_id, output_dir=None, db_path=None):
|
|
593
|
+
"""Generate a complete Incident Response Plan for a project.
|
|
594
|
+
|
|
595
|
+
Args:
|
|
596
|
+
project_id: The project identifier.
|
|
597
|
+
output_dir: Override output directory (file is written inside it).
|
|
598
|
+
db_path: Override database path.
|
|
599
|
+
|
|
600
|
+
Returns:
|
|
601
|
+
dict with ``file_path``, ``version``, and ``project_id``.
|
|
602
|
+
"""
|
|
603
|
+
conn = _get_connection(db_path)
|
|
604
|
+
try:
|
|
605
|
+
# 1. Load project data
|
|
606
|
+
project = _get_project_data(conn, project_id)
|
|
607
|
+
|
|
608
|
+
# 2. Load IR template (falls back to generated default)
|
|
609
|
+
template = _load_template()
|
|
610
|
+
if template is None:
|
|
611
|
+
template = _generate_default_template()
|
|
612
|
+
|
|
613
|
+
# 3. Load project defaults
|
|
614
|
+
defaults = _load_project_defaults()
|
|
615
|
+
|
|
616
|
+
# 4. Build variable substitution dict
|
|
617
|
+
variables = _build_variables(project, defaults)
|
|
618
|
+
|
|
619
|
+
# 5. Determine version — increment if a prior plan exists
|
|
620
|
+
existing = conn.execute(
|
|
621
|
+
"""SELECT file_path FROM audit_trail
|
|
622
|
+
WHERE project_id = ? AND event_type = 'ir_plan_generated'
|
|
623
|
+
ORDER BY created_at DESC LIMIT 1""",
|
|
624
|
+
(project_id,),
|
|
625
|
+
).fetchone()
|
|
626
|
+
|
|
627
|
+
if existing:
|
|
628
|
+
# Attempt to parse version from prior filename
|
|
629
|
+
prior = existing["file_path"] if existing else ""
|
|
630
|
+
ver_match = re.search(r"-v(\d+(?:\.\d+)?)", prior)
|
|
631
|
+
if ver_match:
|
|
632
|
+
prev = float(ver_match.group(1))
|
|
633
|
+
new_version = f"{prev + 1.0:.1f}"
|
|
634
|
+
else:
|
|
635
|
+
new_version = "2.0"
|
|
636
|
+
variables["plan_version"] = new_version
|
|
637
|
+
variables["revision_description"] = (
|
|
638
|
+
f"Updated Incident Response Plan (supersedes v{ver_match.group(1) if ver_match else '1.0'})"
|
|
639
|
+
)
|
|
640
|
+
|
|
641
|
+
version = variables["plan_version"]
|
|
642
|
+
|
|
643
|
+
# 5. Apply variable substitution
|
|
644
|
+
content = _substitute_variables(template, variables)
|
|
645
|
+
|
|
646
|
+
# 6. Apply CUI markings
|
|
647
|
+
cui_config = _load_cui_config()
|
|
648
|
+
doc_header = cui_config.get("document_header", "CUI // SP-CTI").strip()
|
|
649
|
+
doc_footer = cui_config.get("document_footer", "CUI // SP-CTI").strip()
|
|
650
|
+
content = f"{doc_header}\n\n{content}\n\n{doc_footer}\n"
|
|
651
|
+
|
|
652
|
+
# 7. Determine output path
|
|
653
|
+
if output_dir:
|
|
654
|
+
out_dir = Path(output_dir)
|
|
655
|
+
else:
|
|
656
|
+
dir_path = project.get("directory_path", "")
|
|
657
|
+
if dir_path:
|
|
658
|
+
out_dir = Path(dir_path) / "compliance"
|
|
659
|
+
else:
|
|
660
|
+
out_dir = BASE_DIR / ".tmp" / "compliance" / project_id
|
|
661
|
+
|
|
662
|
+
out_dir.mkdir(parents=True, exist_ok=True)
|
|
663
|
+
re.sub(r"[^a-zA-Z0-9_-]", "_", project.get("name", project_id))
|
|
664
|
+
out_file = out_dir / f"incident-response-plan-v{version}.md"
|
|
665
|
+
|
|
666
|
+
with open(out_file, "w", encoding="utf-8") as f:
|
|
667
|
+
f.write(content)
|
|
668
|
+
|
|
669
|
+
# 8. Log audit event
|
|
670
|
+
_log_audit_event(conn, project_id, f"IR Plan v{version} generated", {
|
|
671
|
+
"version": version,
|
|
672
|
+
"system_name": variables["system_name"],
|
|
673
|
+
"output_file": str(out_file),
|
|
674
|
+
"classification": variables["classification"],
|
|
675
|
+
}, out_file)
|
|
676
|
+
|
|
677
|
+
result = {
|
|
678
|
+
"file_path": str(out_file),
|
|
679
|
+
"version": version,
|
|
680
|
+
"project_id": project_id,
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
print("Incident Response Plan generated successfully:")
|
|
684
|
+
print(f" File: {out_file}")
|
|
685
|
+
print(f" Version: {version}")
|
|
686
|
+
print(f" System: {variables['system_name']}")
|
|
687
|
+
print(f" Classification: {variables['classification']}")
|
|
688
|
+
|
|
689
|
+
return result
|
|
690
|
+
|
|
691
|
+
finally:
|
|
692
|
+
conn.close()
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
# ---------------------------------------------------------------------------
|
|
696
|
+
# CLI entry point
|
|
697
|
+
# ---------------------------------------------------------------------------
|
|
698
|
+
|
|
699
|
+
if __name__ == "__main__":
|
|
700
|
+
parser = argparse.ArgumentParser(
|
|
701
|
+
description="Generate Incident Response Plan"
|
|
702
|
+
)
|
|
703
|
+
parser.add_argument("--project-id", required=True, help="Project ID")
|
|
704
|
+
parser.add_argument("--output-dir", help="Output directory")
|
|
705
|
+
parser.add_argument(
|
|
706
|
+
"--db-path", type=Path, default=DB_PATH, help="Database path"
|
|
707
|
+
)
|
|
708
|
+
parser.add_argument("--json", action="store_true", dest="json_output", help="JSON output")
|
|
709
|
+
args = parser.parse_args()
|
|
710
|
+
|
|
711
|
+
try:
|
|
712
|
+
result = generate_ir_plan(
|
|
713
|
+
args.project_id, args.output_dir, args.db_path
|
|
714
|
+
)
|
|
715
|
+
print(json.dumps(result, indent=2))
|
|
716
|
+
except (FileNotFoundError, ValueError) as e:
|
|
717
|
+
print(f"ERROR: {e}", file=sys.stderr)
|
|
718
|
+
sys.exit(1)
|