-
Notifications
You must be signed in to change notification settings - Fork 0
Contract Migration Notes
Matthew A. Davis edited this page May 8, 2026
·
1 revision
Phase 1 introduces shared contract/model modules without changing analyzer behavior.
New shared modules:
-
src/attackmap/analyzer_contracts.pyAnalyzerResult = ScanResultAnalyzerMetadataAnalyzerRepositoryModuleAnalyzerProtocol
-
src/attackmap/recon_models.py- re-exports
Route,ExternalCall,DatabaseHint,AuthHint,SecretHint,ScanResult
- re-exports
SDK-style import paths added:
Core updated to consume shared modules:
-
src/attackmap/analyzers.pynow imports analyzer contracts fromanalyzer_contracts. -
src/attackmap/scanner.pynow imports recon models fromrecon_models.
- Existing imports from
attackmap.analyzerscontinue to work.-
AnalyzerMetadata,AnalyzerResult, andAnalyzerremain available. -
Analyzeris now a compatibility alias toAnalyzerProtocol.
-
- Existing imports from
attackmap.modelscontinue to work unchanged. -
ScanResultshape and field semantics are unchanged. -
auth_hintssemantics are intentionally unchanged in phase 1.
For repository/plugin analyzer contracts:
from attackmap.sdk.contracts import AnalyzerProtocol, AnalyzerMetadata, AnalyzerResult
For recon/result models:
from attackmap.sdk.models import Route, ExternalCall, DatabaseHint, AuthHint, SecretHint, ScanResult
- No schema changes to
ScanResult. - No split of overloaded
auth_hintssemantics. - No changes to analyzer discovery, merge logic, or CLI behavior.
Migrated from https://gitlab.com/matthewd.xyzAI/AttackMap/-/wikis/Generated-Docs/Contract-Migration-Notes.