Skip to content
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: 1 addition & 1 deletion layouts/partials/tip-of-the-week.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ <h2 id="tip-of-the-week-title">A useful tip from the MISP community</h2>
</div>
</div>
</section>
<script src="{{ "js/tip-of-the-week.js" | relURL }}" defer></script>
<script src="{{ "js/tip-of-the-week.js" | relURL }}" data-tips-url="{{ "data/misp-tip-of-the-week.json" | relURL }}" defer></script>
55 changes: 55 additions & 0 deletions static/data/misp-tip-of-the-week.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"source": "https://github.com/cudeso/misp-tip-of-the-week",
"tips": [
{
"title": "Protect your API key",
"tip": "Treat your MISP authentication key like a password: never put it in source code, screenshots, tickets, or chat messages. Use a secrets manager or an environment variable, and rotate the key if it may have been exposed.",
"url": "https://www.misp-project.org/best-practices-for-misp-api-key-management/"
},
{
"title": "Use warninglists before acting on indicators",
"tip": "Enable and regularly update MISP warninglists. They help analysts spot indicators that are likely to be benign, broadly shared, or otherwise unsuitable for automatic blocking.",
"url": "https://github.com/MISP/misp-warninglists"
},
{
"title": "Add context with taxonomies",
"tip": "Apply taxonomy tags to describe confidence, sharing restrictions, workflow state, and threat context consistently. Machine-readable tags make events easier to filter and automate.",
"url": "https://www.misp-project.org/taxonomies.html"
},
{
"title": "Model related attributes as objects",
"tip": "Use MISP objects when several attributes describe one thing, such as a file, email, or network connection. Objects preserve the relationship between the attributes and make the data easier to reuse.",
"url": "https://www.misp-project.org/objects.html"
},
{
"title": "Review distribution before publishing",
"tip": "Check the event and attribute distribution settings before publishing. Choose the narrowest sharing scope that still reaches the intended community, especially for sensitive information.",
"url": "https://www.misp-project.org/datamodels/"
},
{
"title": "Use sightings to keep intelligence current",
"tip": "Record sightings when an indicator is observed, no longer observed, or determined to be a false positive. Sighting information helps the community assess relevance without duplicating events.",
"url": "https://www.misp-project.org/datamodels/"
},
{
"title": "Prefer proposals when suggesting changes",
"tip": "Use proposals to recommend changes to another organisation's event. The event owner can review the suggestion without collaborators silently replacing the original information.",
"url": "https://www.misp-project.org/documentation/"
},
{
"title": "Keep feeds selective",
"tip": "Filter feeds to the use cases your organisation can act on. A smaller, relevant dataset is usually more valuable than importing every available indicator.",
"url": "https://www.misp-project.org/feeds/"
},
{
"title": "Publish complete events",
"tip": "Add a clear event title, an informative analysis state, dates, tags, and references before publishing. Good context helps recipients understand why the indicators matter.",
"url": "https://www.misp-project.org/datamodels/"
},
{
"title": "Automate with PyMISP",
"tip": "Use PyMISP rather than building raw HTTP requests for Python integrations. It provides maintained helpers for authentication, events, attributes, objects, searches, and error handling.",
"url": "https://github.com/MISP/PyMISP"
}
]
}
7 changes: 6 additions & 1 deletion static/js/tip-of-the-week.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
(function () {
"use strict";

var sourceUrl = "https://raw.githubusercontent.com/cudeso/misp-tip-of-the-week/main/misp-tip-of-the-week.json";
var scriptElement = document.currentScript;
var sourceUrl = scriptElement && scriptElement.dataset.tipsUrl;
var repositoryUrl = "https://github.com/cudeso/misp-tip-of-the-week";
var titleElement = document.getElementById("tip-of-the-week-title");
var textElement = document.getElementById("tip-of-the-week-text");
Expand All @@ -14,6 +15,10 @@
return;
}

if (!sourceUrl) {
sourceUrl = "/data/misp-tip-of-the-week.json";
}

function firstString(object, keys) {
for (var i = 0; i < keys.length; i += 1) {
if (typeof object[keys[i]] === "string" && object[keys[i]].trim()) {
Expand Down
Loading