attackerkb_api_rs/v1/topic.rs
1use crate::v1::{MetaData, Score, TagsOrReferences};
2use chrono::{DateTime, Utc};
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5
6#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
7#[serde(rename_all = "camelCase")]
8pub struct Topic {
9 /// example: c0f010fe-da9c-4aa6-b898-c57d483df51b
10 /// The UUID of the topic.
11 pub id: Uuid,
12 /// example: c28a806c-84c7-44bf-95d3-1241475de5bf
13 /// The UUID of the contributor who last edited the topic.
14 pub editor_id: Uuid,
15 /// example: CVE-2019-0708 - BlueKeep
16 /// The name or title of the topic.
17 pub name: String,
18 /// example: 2019-07-02T16:22:15.879357Z
19 /// The date and time the topic was created.
20 pub created: DateTime<Utc>,
21 /// example: 2019-07-02T22:13:15.779501Z
22 /// The date and time the topic was last changed.
23 pub revision_date: DateTime<Utc>,
24 /// example: 2019-11-07T22:53:05.779501Z
25 /// The date and time the topic was disclosed.
26 pub disclosure_date: Option<DateTime<Utc>>,
27 /// example: A bug in Windows Remote Desktop protocol allows unauthenticated users to run arbitrary code via a specially crafted request to the service. This affects Windows 7/Windows Server 2008 and earlier releases. Given the ubiquity of RDP in corporate environments and the trusted nature of RDP, this could pose serious concerns for ransomware attacks much like WannaCry. Patches are released for Windows 7/2008 Operating systems as well as Windows XP.
28 /// The main content of the topic. This content will be rendered in the UI using Markdown.
29 pub document: String,
30 /// example: { "references": [ "<https://support.microsoft.com/en-us/help/4499164/windows-7-update-kb4499164>", "<https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708>", "CVE-2019-0708", "<https://www.thezdi.com/blog/2019/5/14/the-may-2019-security-update-review>" ], "tools": [ "<https://github.com/rapid7/metasploit-framework/pull/11869>" ]" }
31 /// A JSON value containing key/value pairs describing various attributes about this topic.
32 pub metadata: MetaData,
33 /// The topic score properties.
34 pub score: Score,
35 pub tags: Vec<TagsOrReferences>,
36 pub references: Vec<TagsOrReferences>,
37 /// Rapid7's analysis of the topic. This content will be rendered in the UI using Markdown.
38 pub rapid7_analysis: Option<String>,
39 /// The date and time Rapid7's analysis was created.
40 pub rapid7_analysis_created: Option<DateTime<Utc>>,
41 /// The date and time Rapid7's analysis was last changed.
42 pub rapid7_analysis_revision_date: Option<DateTime<Utc>>,
43}