Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix: Update index when processing automated client metadata #3586

Merged
merged 1 commit into from
Jul 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions artifacts/definitions/Server/Utils/CreateCollector.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ parameters:
- Windows_x86
- Linux
- MacOS
- MacOSArm
- Generic

- name: artifacts
description: A list of artifacts to collect
Expand Down
8 changes: 8 additions & 0 deletions gui/velociraptor/src/components/artifacts/reporting.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
width: fit-content;
}

.report-viewer {
min-height: 10px;
}

.report-viewer:hover {
cursor: pointer;
}

.report-viewer h1 {
font-size: 24px;
margin-top: 1rem;
Expand Down
15 changes: 10 additions & 5 deletions gui/velociraptor/src/components/artifacts/reporting.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,8 @@ export default class VeloReportViewer extends React.Component {
} catch(e) {};
}

if (domNode.name === "velo-csv-viewer") {
if (domNode.name === "velo-csv-viewer" ||
domNode.name === "grr-csv-viewer") {
// Figure out where the data is: attribs.value is something like data['table2']
let re = /'([^']+)'/;
let value = decodeURIComponent(domNode.attribs.value || "");
Expand All @@ -192,7 +193,8 @@ export default class VeloReportViewer extends React.Component {
}
};

if (domNode.name === "velo-tool-viewer") {
if (domNode.name === "velo-tool-viewer" ||
domNode.name === "grr-tool-viewer") {
let name = decodeURIComponent(domNode.attribs.name ||"");
let tool_version = decodeURIComponent(
domNode.attribs.version ||"");
Expand All @@ -203,20 +205,23 @@ export default class VeloReportViewer extends React.Component {
);
};

if (domNode.name === "velo-timeline") {
if (domNode.name === "velo-timeline" ||
domNode.name === "grr-timeline") {
let name = decodeURIComponent(domNode.attribs.name ||"");
return (
<Timeline name={name}/>
);
};

if (domNode.name === "velo-value") {
if (domNode.name === "velo-value" ||
domNode.name === "grr-value") {
let value = decodeURIComponent(domNode.attribs.value || "");
return <VeloValueRenderer value={value}/>;

};

if (domNode.name === "velo-line-chart") {
if (domNode.name === "velo-line-chart" ||
domNode.name === "grr-line-chart") {
// Figure out where the data is: attribs.value is
// something like data['table2']
let re = /'([^']+)'/;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export default class NotebookReportRenderer extends React.Component {

switch (domNode.name) {
case "velo-line-chart":
case "grr-line-chart":
return <VeloLineChart data={rows}
columns={data.Columns}
params={parse_param(domNode)} />;
Expand Down Expand Up @@ -133,12 +134,14 @@ export default class NotebookReportRenderer extends React.Component {
};
}

if (domNode.name === "velo-value") {
if (domNode.name === "velo-value" ||
domNode.name === "grr-value") {
let value = decodeURIComponent(domNode.attribs.value || "");
return <VeloValueRenderer value={value}/>;
};

if (domNode.name === "velo-timeline") {
if (domNode.name === "velo-timeline" ||
domNode.name === "grr-timeline") {
let name = decodeURIComponent(domNode.attribs.name || "");
return (
<TimelineRenderer
Expand All @@ -148,7 +151,8 @@ export default class NotebookReportRenderer extends React.Component {
);
};

if (domNode.name === "velo-tool-viewer") {
if (domNode.name === "velo-tool-viewer"||
domNode.name === "grr-tool-viewer") {
let name = decodeURIComponent(domNode.attribs.name ||"");
let tool_version = decodeURIComponent(
domNode.attribs.version ||"");
Expand All @@ -157,7 +161,8 @@ export default class NotebookReportRenderer extends React.Component {
};

// A tag that loads a table from a notebook cell.
if (domNode.name === "velo-csv-viewer") {
if (domNode.name === "velo-csv-viewer" ||
domNode.name === "grr-csv-viewer") {
try {
return (
<NotebookTableRenderer
Expand Down
6 changes: 6 additions & 0 deletions reporting/gui.go
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,12 @@ func NewBlueMondayPolicy() *bluemonday.Policy {
// DATA urls are useful for markdown cells
p.AllowURLSchemes("http", "https", "data")

// Deprecated but may still appear in older notebooks.
p.AllowAttrs("value", "params").OnElements("grr-csv-viewer")
p.AllowAttrs("value", "params").OnElements("grr-line-chart")
p.AllowAttrs("name", "params").OnElements("grr-timeline")
p.AllowAttrs("name", "version").OnElements("grr-tool-viewer")

// Directives for the GUI.
p.AllowAttrs("value", "params").OnElements("velo-csv-viewer")
p.AllowAttrs("value", "params").OnElements("inline-table-viewer")
Expand Down
Loading