Vultron ActivityStreams Vocabulary Objects
vultron.as_vocab.objects.base
Provides a base class for all Vultron ActivityStreams Objects.
VultronObject
dataclass
Bases: as_Object
Base class for all Vultron ActivityStreams Objects
Source code in vultron/as_vocab/objects/base.py
25 26 27 28 29 30 |
|
vultron.as_vocab.objects.case_participant
Provides various CaseParticipant objects for the Vultron ActivityStreams Vocabulary.
CaseParticipant
dataclass
Bases: VultronObject
A CaseParticipant is a wrapper around an Actor in a VulnerabilityCase. It is used to track the status of the participant within the context of a specific case, as well as the roles they play in the case.
Several subclasses of CaseParticipant are provided for convenience, including:
- FinderParticipant
- ReporterParticipant
- FinderReporterParticipant
- VendorParticipant
- DeployerParticipant
- CoordinatorParticipant
- OtherParticipant
But you can also create your own CaseParticipant objects if you need to.
Examples:
The following example creates a case participant and adds the VENDOR and DEPLOYER roles to it.
actor = as_Actor(name="Actor Name")
cp = CaseParticipant(actor=actor, context="case_id_foo")
cp.add_role(CVDRole.VENDOR)
cp.add_role(CVDRole.DEPLOYER)
Source code in vultron/as_vocab/objects/case_participant.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
|
CoordinatorParticipant
dataclass
Bases: CaseParticipant
A CoordinatorParticipant is a CaseParticipant that has the COORDINATOR role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
205 206 207 208 209 210 211 212 213 214 215 216 217 |
|
DeployerParticipant
dataclass
Bases: CaseParticipant
A DeployerParticipant is a CaseParticipant that has the DEPLOYER role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
190 191 192 193 194 195 196 197 198 199 200 201 202 |
|
FinderParticipant
dataclass
Bases: CaseParticipant
A FinderParticipant is a CaseParticipant that has the FINDER role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
113 114 115 116 117 118 119 120 121 122 123 124 125 |
|
FinderReporterParticipant
dataclass
Bases: CaseParticipant
A FinderReporterParticipant is a CaseParticipant that has both the FINDER and REPORTER roles in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
|
OtherParticipant
dataclass
Bases: CaseParticipant
An OtherParticipant is a CaseParticipant that has the OTHER role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
220 221 222 223 224 225 226 227 228 229 230 |
|
ReporterParticipant
dataclass
Bases: CaseParticipant
A ReporterParticipant is a CaseParticipant that has the REPORTER role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
|
VendorParticipant
dataclass
Bases: CaseParticipant
A VendorParticipant is a CaseParticipant that has the VENDOR role in a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_participant.py
175 176 177 178 179 180 181 182 183 184 185 186 187 |
|
vultron.as_vocab.objects.case_status
Provides Case Status objects for the Vultron ActivityStreams Vocabulary.
CaseStatus
dataclass
Bases: VultronObject
Represents the case-level (global, participant-agnostic) status of a VulnerabilityCase.
Source code in vultron/as_vocab/objects/case_status.py
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
__post_init__()
Sets the name of the CaseStatus to the name of the EM state and the name of the PXA state.
Returns:
Type | Description |
---|---|
None
|
None |
Source code in vultron/as_vocab/objects/case_status.py
65 66 67 68 69 70 71 72 73 74 |
|
ParticipantStatus
dataclass
Bases: VultronObject
Represents the status of a participant with respect to a VulnerabilityCase (participant-specific).
Source code in vultron/as_vocab/objects/case_status.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
__post_init__()
Sets the name of the ParticipantStatus to the name of the RM state, the name of the VFD state, and the name of the CaseStatus (if present).
Returns:
Type | Description |
---|---|
None
|
None |
Source code in vultron/as_vocab/objects/case_status.py
117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
vultron.as_vocab.objects.embargo_event
Provides an EmbargoEvent object for the Vultron ActivityStreams Vocabulary.
EmbargoEvent
dataclass
Bases: as_Event
An EmbargoEvent is an Event that represents an embargo on a VulnerabilityCase.
Source code in vultron/as_vocab/objects/embargo_event.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
vultron.as_vocab.objects.vulnerability_case
Provides a VulnerabilityCase object for the Vultron ActivityStreams Vocabulary.
VulnerabilityCase
dataclass
Bases: VultronObject
A Vulnerability Case is a container for vulnerability reports, and is used to track the lifecycle of the case and its constituent vulnerability reports, including the status of the case itself, the participants in the case, and the embargo status of the case.
Source code in vultron/as_vocab/objects/vulnerability_case.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
|
add_participant(participant)
Add a participant to the case
Parameters:
Name | Type | Description | Default |
---|---|---|---|
participant |
CaseParticipant
|
a CaseParticipant object |
required |
Source code in vultron/as_vocab/objects/vulnerability_case.py
95 96 97 98 99 100 101 |
|
add_report(report)
Add a vulnerability report to the case
Parameters:
Name | Type | Description | Default |
---|---|---|---|
report |
VulnerabilityReport
|
a VulnerabilityReport object |
required |
Source code in vultron/as_vocab/objects/vulnerability_case.py
87 88 89 90 91 92 93 |
|
record_activity(activity)
Record an activity in the case
Parameters:
Name | Type | Description | Default |
---|---|---|---|
activity |
as_Activity
|
an as_Activity object |
required |
Source code in vultron/as_vocab/objects/vulnerability_case.py
112 113 114 115 116 117 118 119 120 121 |
|
set_embargo(embargo)
Set the active embargo for the case
Parameters:
Name | Type | Description | Default |
---|---|---|---|
embargo |
EmbargoEvent
|
an EmbargoEvent object |
required |
Source code in vultron/as_vocab/objects/vulnerability_case.py
103 104 105 106 107 108 109 110 |
|
vultron.as_vocab.objects.vulnerability_report
Provides a VulnerabilityReport object for the Vultron ActivityStreams Vocabulary.
VulnerabilityReport
dataclass
Bases: VultronObject
Represents a Vulnerability Report as an ActivityStreams Object.
Source code in vultron/as_vocab/objects/vulnerability_report.py
26 27 28 29 30 31 32 |
|