insa-check-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +24 -0
- package/dist/annex-b.d.ts +6 -0
- package/dist/annex-b.d.ts.map +1 -0
- package/dist/annex-b.js +152 -0
- package/dist/annex-b.js.map +1 -0
- package/dist/checks/content/page.d.ts +7 -0
- package/dist/checks/content/page.d.ts.map +1 -0
- package/dist/checks/content/page.js +133 -0
- package/dist/checks/content/page.js.map +1 -0
- package/dist/checks/cookies/cookie-flags.d.ts +3 -0
- package/dist/checks/cookies/cookie-flags.d.ts.map +1 -0
- package/dist/checks/cookies/cookie-flags.js +41 -0
- package/dist/checks/cookies/cookie-flags.js.map +1 -0
- package/dist/checks/cookies/cookie-scope.d.ts +6 -0
- package/dist/checks/cookies/cookie-scope.d.ts.map +1 -0
- package/dist/checks/cookies/cookie-scope.js +60 -0
- package/dist/checks/cookies/cookie-scope.js.map +1 -0
- package/dist/checks/deployment/server-banner.d.ts +4 -0
- package/dist/checks/deployment/server-banner.d.ts.map +1 -0
- package/dist/checks/deployment/server-banner.js +60 -0
- package/dist/checks/deployment/server-banner.js.map +1 -0
- package/dist/checks/deployment/trace.d.ts +3 -0
- package/dist/checks/deployment/trace.d.ts.map +1 -0
- package/dist/checks/deployment/trace.js +30 -0
- package/dist/checks/deployment/trace.js.map +1 -0
- package/dist/checks/headers/clickjacking.d.ts +5 -0
- package/dist/checks/headers/clickjacking.d.ts.map +1 -0
- package/dist/checks/headers/clickjacking.js +57 -0
- package/dist/checks/headers/clickjacking.js.map +1 -0
- package/dist/checks/headers/content-type-options.d.ts +3 -0
- package/dist/checks/headers/content-type-options.d.ts.map +1 -0
- package/dist/checks/headers/content-type-options.js +17 -0
- package/dist/checks/headers/content-type-options.js.map +1 -0
- package/dist/checks/headers/cors.d.ts +4 -0
- package/dist/checks/headers/cors.d.ts.map +1 -0
- package/dist/checks/headers/cors.js +38 -0
- package/dist/checks/headers/cors.js.map +1 -0
- package/dist/checks/html.d.ts +11 -0
- package/dist/checks/html.d.ts.map +1 -0
- package/dist/checks/html.js +30 -0
- package/dist/checks/html.js.map +1 -0
- package/dist/checks/index.d.ts +7 -0
- package/dist/checks/index.d.ts.map +1 -0
- package/dist/checks/index.js +48 -0
- package/dist/checks/index.js.map +1 -0
- package/dist/checks/info-disclosure/directory-listing.d.ts +6 -0
- package/dist/checks/info-disclosure/directory-listing.d.ts.map +1 -0
- package/dist/checks/info-disclosure/directory-listing.js +60 -0
- package/dist/checks/info-disclosure/directory-listing.js.map +1 -0
- package/dist/checks/info-disclosure/exposed-files.d.ts +4 -0
- package/dist/checks/info-disclosure/exposed-files.d.ts.map +1 -0
- package/dist/checks/info-disclosure/exposed-files.js +56 -0
- package/dist/checks/info-disclosure/exposed-files.js.map +1 -0
- package/dist/checks/info-disclosure/more.d.ts +8 -0
- package/dist/checks/info-disclosure/more.d.ts.map +1 -0
- package/dist/checks/info-disclosure/more.js +186 -0
- package/dist/checks/info-disclosure/more.js.map +1 -0
- package/dist/checks/tls/certificate.d.ts +3 -0
- package/dist/checks/tls/certificate.d.ts.map +1 -0
- package/dist/checks/tls/certificate.js +49 -0
- package/dist/checks/tls/certificate.js.map +1 -0
- package/dist/checks/tls/hsts.d.ts +5 -0
- package/dist/checks/tls/hsts.d.ts.map +1 -0
- package/dist/checks/tls/hsts.js +35 -0
- package/dist/checks/tls/hsts.js.map +1 -0
- package/dist/checks/tls/https-redirect.d.ts +3 -0
- package/dist/checks/tls/https-redirect.d.ts.map +1 -0
- package/dist/checks/tls/https-redirect.js +46 -0
- package/dist/checks/tls/https-redirect.js.map +1 -0
- package/dist/checks/tls/legacy-protocols.d.ts +3 -0
- package/dist/checks/tls/legacy-protocols.d.ts.map +1 -0
- package/dist/checks/tls/legacy-protocols.js +27 -0
- package/dist/checks/tls/legacy-protocols.js.map +1 -0
- package/dist/checks/util.d.ts +22 -0
- package/dist/checks/util.d.ts.map +1 -0
- package/dist/checks/util.js +63 -0
- package/dist/checks/util.js.map +1 -0
- package/dist/code/checks/crypto.d.ts +5 -0
- package/dist/code/checks/crypto.d.ts.map +1 -0
- package/dist/code/checks/crypto.js +100 -0
- package/dist/code/checks/crypto.js.map +1 -0
- package/dist/code/checks/django.d.ts +14 -0
- package/dist/code/checks/django.d.ts.map +1 -0
- package/dist/code/checks/django.js +313 -0
- package/dist/code/checks/django.js.map +1 -0
- package/dist/code/checks/flask.d.ts +6 -0
- package/dist/code/checks/flask.d.ts.map +1 -0
- package/dist/code/checks/flask.js +100 -0
- package/dist/code/checks/flask.js.map +1 -0
- package/dist/code/checks/index.d.ts +9 -0
- package/dist/code/checks/index.d.ts.map +1 -0
- package/dist/code/checks/index.js +126 -0
- package/dist/code/checks/index.js.map +1 -0
- package/dist/code/checks/injection.d.ts +27 -0
- package/dist/code/checks/injection.d.ts.map +1 -0
- package/dist/code/checks/injection.js +189 -0
- package/dist/code/checks/injection.js.map +1 -0
- package/dist/code/checks/javascript-config.d.ts +14 -0
- package/dist/code/checks/javascript-config.d.ts.map +1 -0
- package/dist/code/checks/javascript-config.js +251 -0
- package/dist/code/checks/javascript-config.js.map +1 -0
- package/dist/code/checks/javascript.d.ts +34 -0
- package/dist/code/checks/javascript.d.ts.map +1 -0
- package/dist/code/checks/javascript.js +333 -0
- package/dist/code/checks/javascript.js.map +1 -0
- package/dist/code/checks/php.d.ts +27 -0
- package/dist/code/checks/php.d.ts.map +1 -0
- package/dist/code/checks/php.js +433 -0
- package/dist/code/checks/php.js.map +1 -0
- package/dist/code/checks/secrets.d.ts +10 -0
- package/dist/code/checks/secrets.d.ts.map +1 -0
- package/dist/code/checks/secrets.js +140 -0
- package/dist/code/checks/secrets.js.map +1 -0
- package/dist/code/checks/shared.d.ts +25 -0
- package/dist/code/checks/shared.d.ts.map +1 -0
- package/dist/code/checks/shared.js +57 -0
- package/dist/code/checks/shared.js.map +1 -0
- package/dist/code/checks/treesitter.d.ts +15 -0
- package/dist/code/checks/treesitter.d.ts.map +1 -0
- package/dist/code/checks/treesitter.js +322 -0
- package/dist/code/checks/treesitter.js.map +1 -0
- package/dist/code/checks/xml.d.ts +9 -0
- package/dist/code/checks/xml.d.ts.map +1 -0
- package/dist/code/checks/xml.js +78 -0
- package/dist/code/checks/xml.js.map +1 -0
- package/dist/code/context.d.ts +6 -0
- package/dist/code/context.d.ts.map +1 -0
- package/dist/code/context.js +92 -0
- package/dist/code/context.js.map +1 -0
- package/dist/code/detect.d.ts +3 -0
- package/dist/code/detect.d.ts.map +1 -0
- package/dist/code/detect.js +118 -0
- package/dist/code/detect.js.map +1 -0
- package/dist/code/django/settings.d.ts +46 -0
- package/dist/code/django/settings.d.ts.map +1 -0
- package/dist/code/django/settings.js +154 -0
- package/dist/code/django/settings.js.map +1 -0
- package/dist/code/findings.d.ts +18 -0
- package/dist/code/findings.d.ts.map +1 -0
- package/dist/code/findings.js +63 -0
- package/dist/code/findings.js.map +1 -0
- package/dist/code/javascript/ast.d.ts +46 -0
- package/dist/code/javascript/ast.d.ts.map +1 -0
- package/dist/code/javascript/ast.js +166 -0
- package/dist/code/javascript/ast.js.map +1 -0
- package/dist/code/javascript/index.d.ts +3 -0
- package/dist/code/javascript/index.d.ts.map +1 -0
- package/dist/code/javascript/index.js +3 -0
- package/dist/code/javascript/index.js.map +1 -0
- package/dist/code/javascript/module.d.ts +59 -0
- package/dist/code/javascript/module.d.ts.map +1 -0
- package/dist/code/javascript/module.js +250 -0
- package/dist/code/javascript/module.js.map +1 -0
- package/dist/code/php/index.d.ts +92 -0
- package/dist/code/php/index.d.ts.map +1 -0
- package/dist/code/php/index.js +316 -0
- package/dist/code/php/index.js.map +1 -0
- package/dist/code/project.d.ts +13 -0
- package/dist/code/project.d.ts.map +1 -0
- package/dist/code/project.js +69 -0
- package/dist/code/project.js.map +1 -0
- package/dist/code/python/ast.d.ts +47 -0
- package/dist/code/python/ast.d.ts.map +1 -0
- package/dist/code/python/ast.js +193 -0
- package/dist/code/python/ast.js.map +1 -0
- package/dist/code/python/index.d.ts +3 -0
- package/dist/code/python/index.d.ts.map +1 -0
- package/dist/code/python/index.js +3 -0
- package/dist/code/python/index.js.map +1 -0
- package/dist/code/python/module.d.ts +55 -0
- package/dist/code/python/module.d.ts.map +1 -0
- package/dist/code/python/module.js +215 -0
- package/dist/code/python/module.js.map +1 -0
- package/dist/code/scan.d.ts +24 -0
- package/dist/code/scan.d.ts.map +1 -0
- package/dist/code/scan.js +159 -0
- package/dist/code/scan.js.map +1 -0
- package/dist/code/treesitter/index.d.ts +83 -0
- package/dist/code/treesitter/index.d.ts.map +1 -0
- package/dist/code/treesitter/index.js +243 -0
- package/dist/code/treesitter/index.js.map +1 -0
- package/dist/code/types.d.ts +48 -0
- package/dist/code/types.d.ts.map +1 -0
- package/dist/code/types.js +2 -0
- package/dist/code/types.js.map +1 -0
- package/dist/content/en.d.ts +3 -0
- package/dist/content/en.d.ts.map +1 -0
- package/dist/content/en.js +722 -0
- package/dist/content/en.js.map +1 -0
- package/dist/content/index.d.ts +15 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +21 -0
- package/dist/content/index.js.map +1 -0
- package/dist/content/types.d.ts +87 -0
- package/dist/content/types.d.ts.map +1 -0
- package/dist/content/types.js +2 -0
- package/dist/content/types.js.map +1 -0
- package/dist/engine.d.ts +52 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +120 -0
- package/dist/engine.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/meta.d.ts +4 -0
- package/dist/meta.d.ts.map +1 -0
- package/dist/meta.js +4 -0
- package/dist/meta.js.map +1 -0
- package/dist/net/context.d.ts +9 -0
- package/dist/net/context.d.ts.map +1 -0
- package/dist/net/context.js +62 -0
- package/dist/net/context.js.map +1 -0
- package/dist/net/guard.d.ts +16 -0
- package/dist/net/guard.d.ts.map +1 -0
- package/dist/net/guard.js +70 -0
- package/dist/net/guard.js.map +1 -0
- package/dist/net/http.d.ts +22 -0
- package/dist/net/http.d.ts.map +1 -0
- package/dist/net/http.js +114 -0
- package/dist/net/http.js.map +1 -0
- package/dist/net/tls.d.ts +15 -0
- package/dist/net/tls.d.ts.map +1 -0
- package/dist/net/tls.js +103 -0
- package/dist/net/tls.js.map +1 -0
- package/dist/report/html.d.ts +14 -0
- package/dist/report/html.d.ts.map +1 -0
- package/dist/report/html.js +210 -0
- package/dist/report/html.js.map +1 -0
- package/dist/report/index.d.ts +10 -0
- package/dist/report/index.d.ts.map +1 -0
- package/dist/report/index.js +10 -0
- package/dist/report/index.js.map +1 -0
- package/dist/report/manual.d.ts +62 -0
- package/dist/report/manual.d.ts.map +1 -0
- package/dist/report/manual.js +190 -0
- package/dist/report/manual.js.map +1 -0
- package/dist/report/merge.d.ts +8 -0
- package/dist/report/merge.d.ts.map +1 -0
- package/dist/report/merge.js +135 -0
- package/dist/report/merge.js.map +1 -0
- package/dist/report/summary.d.ts +10 -0
- package/dist/report/summary.d.ts.map +1 -0
- package/dist/report/summary.js +27 -0
- package/dist/report/summary.js.map +1 -0
- package/dist/report/validate.d.ts +3 -0
- package/dist/report/validate.d.ts.map +1 -0
- package/dist/report/validate.js +78 -0
- package/dist/report/validate.js.map +1 -0
- package/dist/types.d.ts +244 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/validate.d.ts +4 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +24 -0
- package/dist/validate.js.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1,722 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* English guided-review content for every Annex B item, plus the strings of the manual-review flow.
|
|
3
|
+
* To add a language, copy this file (e.g. am.ts), translate the values, keep the keys, and register
|
|
4
|
+
* it in content/index.ts. Item numbers and placeholders ({name}) must stay unchanged.
|
|
5
|
+
*
|
|
6
|
+
* References cite SWMS v1.0 (Secure Website Management Standard), CMCSRS v2.0 (Critical Mass Cyber Security
|
|
7
|
+
* Requirement Standard) and SSDMS v1.0 (Secure Software Development and Management Standard).
|
|
8
|
+
*
|
|
9
|
+
* Steps marked "staging" can disrupt a live service or change data: run them on a test copy.
|
|
10
|
+
*/
|
|
11
|
+
const STAGING = "Use a staging/test copy, never production, and only with written authorization.";
|
|
12
|
+
export const EN = {
|
|
13
|
+
locale: "en",
|
|
14
|
+
language: "English",
|
|
15
|
+
ui: {
|
|
16
|
+
manualReviewTitle: "Manual review",
|
|
17
|
+
authorizationWarning: "Only perform these tests on systems you own or are explicitly authorized to test. Many steps log in, change accounts, replay sessions or send unusual input; doing this without permission may be illegal. Prefer a staging copy for anything that changes data.",
|
|
18
|
+
progress: "{reviewed} of {total} manual items reviewed",
|
|
19
|
+
verdict: { pass: "Pass", fail: "Fail", "not-applicable": "Not applicable", untested: "Untested" },
|
|
20
|
+
whatToCheck: "What to check",
|
|
21
|
+
howToTest: "How to test",
|
|
22
|
+
evidenceToRecord: "Evidence to record",
|
|
23
|
+
terms: "Terms explained",
|
|
24
|
+
references: "INSA requirements",
|
|
25
|
+
automatedResult: "Automated result",
|
|
26
|
+
verdictLabel: "Verdict",
|
|
27
|
+
note: "Reviewer note",
|
|
28
|
+
evidenceText: "Evidence (paste text, mask secrets)",
|
|
29
|
+
screenshots: "Screenshots",
|
|
30
|
+
addScreenshot: "Add screenshot",
|
|
31
|
+
removeScreenshot: "Remove",
|
|
32
|
+
screenshotTooLarge: "{name} is larger than {max} MB and was not added.",
|
|
33
|
+
screenshotWrongType: "{name} is not a PNG, JPEG, WebP or GIF image and was not added.",
|
|
34
|
+
saved: "Saved",
|
|
35
|
+
saving: "Saving…",
|
|
36
|
+
filterAll: "All",
|
|
37
|
+
filterPending: "Pending",
|
|
38
|
+
filterReviewed: "Reviewed",
|
|
39
|
+
backToReport: "Back to report",
|
|
40
|
+
startReview: "Manual review",
|
|
41
|
+
reviewer: "Reviewer",
|
|
42
|
+
reviewedAt: "Reviewed",
|
|
43
|
+
evidenceAttached: "{count} screenshot(s)",
|
|
44
|
+
evidenceTextAttached: "evidence text",
|
|
45
|
+
noManualItems: "This report has no items that need manual review.",
|
|
46
|
+
storageNotice: "Notes and screenshots are saved only in this browser (IndexedDB), are not encrypted, and are never sent to the server. Export JSON to back them up; the export includes screenshots.",
|
|
47
|
+
readinessIncomplete: "INCOMPLETE: {pending} item(s) still require manual review",
|
|
48
|
+
readinessErrors: "INCOMPLETE: {error} automated check(s) did not complete and must be re-run or reviewed",
|
|
49
|
+
readinessFailures: "COMPLETE: {fail} item(s) failed",
|
|
50
|
+
readinessClean: "COMPLETE: every item passed or is not applicable",
|
|
51
|
+
readinessPendingLine: "{pending} item(s) still require manual review.",
|
|
52
|
+
readinessNonePending: "No items are waiting for manual review.",
|
|
53
|
+
readinessNeedsNote: "INCOMPLETE: {count} Fail or Not applicable verdict(s) need a reviewer note",
|
|
54
|
+
readinessNeedsNoteLine: "{count} Fail or Not applicable verdict(s) need a reviewer note before the report is complete.",
|
|
55
|
+
readinessCarriedLine: "{count} verdict(s) were carried from an earlier report; re-confirm them.",
|
|
56
|
+
carriedFrom: "carried from the report of {date}",
|
|
57
|
+
historyCount: "{count} earlier change(s)",
|
|
58
|
+
cliIntro: "Guided manual review: {count} item(s) to go through. Answers are saved after each item; press q to stop and resume later with --resume.",
|
|
59
|
+
cliConfirmAuthorization: "Are you authorized to test this system? (y/N) ",
|
|
60
|
+
cliItemHeader: "[{position}/{count}] #{id} {title}",
|
|
61
|
+
cliVerdictPrompt: "Verdict: [p]ass, [f]ail, [n]ot applicable, [u]ntested, [s]kip, [q]uit",
|
|
62
|
+
cliKeepCurrent: "Enter keeps: {current}",
|
|
63
|
+
cliNotePrompt: "Note",
|
|
64
|
+
cliEvidencePrompt: "Evidence text",
|
|
65
|
+
cliScreenshotPrompt: "Screenshot file path (optional)",
|
|
66
|
+
cliSavedTo: "Saved to {file}",
|
|
67
|
+
cliStopped: "Stopped. Resume with: insa-check manual --report {file} --resume",
|
|
68
|
+
cliFinished: "Manual review finished.",
|
|
69
|
+
cliNothingToReview: "Nothing to review: every manual item already has a verdict. Run without --resume to revisit them.",
|
|
70
|
+
},
|
|
71
|
+
items: {
|
|
72
|
+
// --- Information Disclosure -----------------------------------------------------
|
|
73
|
+
"1": {
|
|
74
|
+
guidance: "Files left in the web root (backups, version-control folders, configuration, installers) can expose source code, passwords or database dumps.",
|
|
75
|
+
howToTest: [
|
|
76
|
+
"Request common leftovers: /.git/HEAD, /.env, /backup.zip, /db.sql, /index.php.bak, /web.config.old, /phpinfo.php.",
|
|
77
|
+
"Ask the administrator for a listing of the web root and look for *.bak, *.old, *.zip, *.sql, *.swp and files ending in ~.",
|
|
78
|
+
"Confirm the deployment copies only the built site, not the whole repository or developer files.",
|
|
79
|
+
],
|
|
80
|
+
evidencePrompt: "Each URL that returned a file (status code, size, what it contained). Do not paste secrets.",
|
|
81
|
+
terms: [{ term: "Web root", meaning: "The folder whose files the web server makes public." }],
|
|
82
|
+
},
|
|
83
|
+
"2": {
|
|
84
|
+
guidance: "When a folder has no index page, some servers list every file in it, revealing files that were never meant to be linked.",
|
|
85
|
+
howToTest: [
|
|
86
|
+
"Open folders seen in the page source with a trailing slash, e.g. /images/, /uploads/, /assets/, /files/.",
|
|
87
|
+
"A page titled \"Index of /…\" or a plain list of files means directory listing is enabled.",
|
|
88
|
+
"Check the server configuration: Apache \"Options -Indexes\", nginx \"autoindex off\", IIS Directory Browsing disabled.",
|
|
89
|
+
],
|
|
90
|
+
evidencePrompt: "URLs that showed a listing, or the configuration line that disables listings.",
|
|
91
|
+
},
|
|
92
|
+
"3": {
|
|
93
|
+
guidance: "Debug pages and debug modes reveal internals (stack traces, settings, SQL, environment variables) and some even allow running code.",
|
|
94
|
+
howToTest: [
|
|
95
|
+
"Request common debug endpoints: /phpinfo.php, /server-status, /server-info, /elmah.axd, /trace.axd, /actuator, /_profiler, /debug, /console.",
|
|
96
|
+
"Trigger an error (a non-existent page, a letter where a number is expected) and see whether a detailed debug page appears.",
|
|
97
|
+
"Confirm with the administrator that debug mode is off in production (e.g. Django DEBUG = False, Laravel APP_DEBUG=false, ASP.NET customErrors on).",
|
|
98
|
+
],
|
|
99
|
+
evidencePrompt: "Endpoints tried and their responses; the production debug setting.",
|
|
100
|
+
},
|
|
101
|
+
"4": {
|
|
102
|
+
guidance: "Users should see generic error messages. Detailed errors (stack traces, SQL, file paths, versions) help attackers, and logs must not contain sensitive data.",
|
|
103
|
+
howToTest: [
|
|
104
|
+
"Send malformed input: a single quote ' in search fields, letters in numeric IDs, very long values, invalid dates.",
|
|
105
|
+
"Open a page that does not exist and look at the 404 page.",
|
|
106
|
+
"Look for stack traces, SQL fragments, server file paths, and framework or version strings in the responses.",
|
|
107
|
+
"Ask for a sample of application logs and check they contain no passwords, card numbers or session tokens.",
|
|
108
|
+
],
|
|
109
|
+
evidencePrompt: "The input that caused a detailed error and what it revealed (mask any secrets).",
|
|
110
|
+
terms: [{ term: "Stack trace", meaning: "A technical listing of the code that was running when an error happened." }],
|
|
111
|
+
references: [
|
|
112
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 9 (p. 50): the developer must handle all errors and exceptions.",
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
"5": {
|
|
116
|
+
guidance: "robots.txt is public. Paths listed under Disallow to \"hide\" admin or private areas actually advertise them.",
|
|
117
|
+
howToTest: [
|
|
118
|
+
"Open /robots.txt.",
|
|
119
|
+
"For each Disallow line, consider whether it reveals sensitive areas (admin panels, backups, internal tools, exports).",
|
|
120
|
+
"Open those paths without logging in; they must still require authentication.",
|
|
121
|
+
],
|
|
122
|
+
evidencePrompt: "Sensitive Disallow entries and whether each path was protected.",
|
|
123
|
+
terms: [{ term: "robots.txt", meaning: "A public file telling search engines what not to index. It is not access control." }],
|
|
124
|
+
},
|
|
125
|
+
"6": {
|
|
126
|
+
guidance: "Page source and JavaScript are visible to everyone. Comments, API keys, passwords or internal hostnames left there are exposed.",
|
|
127
|
+
howToTest: [
|
|
128
|
+
"View the source of the main pages (Ctrl+U) and search for <!--, TODO, password, key, token, secret, api.",
|
|
129
|
+
"Open the linked .js files, including any .map source-map files, and search for the same words.",
|
|
130
|
+
"Look for internal URLs, staging hostnames, developer names or e-mail addresses.",
|
|
131
|
+
],
|
|
132
|
+
evidencePrompt: "File or URL and the kind of data exposed. Do not paste the secret itself.",
|
|
133
|
+
terms: [{ term: "Source map", meaning: "A .map file that lets browsers show the original source code; it can expose the full code." }],
|
|
134
|
+
references: [
|
|
135
|
+
"Related (IoT scope) CMCSRS v2.0 §6.31 f.3: authenticate identities without hard-coding passwords, tokens or other secrets.",
|
|
136
|
+
"SSDMS v1.0 §7.2 Secure Deployment, Std 11–12 (p. 53): developers must not have access to production secrets or credentials; production secrets must be adequately protected."
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
"7": {
|
|
140
|
+
guidance: "Private IP addresses or internal server names in responses reveal how the internal network is laid out.",
|
|
141
|
+
howToTest: [
|
|
142
|
+
"Check response headers (Via, X-Forwarded-For, X-Backend-Server, Location on redirects) for 10.x, 172.16–31.x, 192.168.x addresses or internal names.",
|
|
143
|
+
"Search page source and error pages for the same patterns.",
|
|
144
|
+
"Request the site by its IP address and with an HTTP/1.0 request without a Host header, then check any redirect target.",
|
|
145
|
+
],
|
|
146
|
+
evidencePrompt: "The header or page and the internal address it revealed.",
|
|
147
|
+
terms: [{ term: "Private IP address", meaning: "Addresses such as 10.x.x.x, 172.16–31.x.x and 192.168.x.x that are only used inside a network." }],
|
|
148
|
+
},
|
|
149
|
+
// --- Privacy and Confidentiality ---------------------------------------------------
|
|
150
|
+
"8": {
|
|
151
|
+
guidance: "URLs are saved in browser history, server and proxy logs, and sent to other sites in the Referer header, so tokens and personal data must not appear in them.",
|
|
152
|
+
howToTest: [
|
|
153
|
+
"Log in and use the main features (search, profile, password reset, payments) while watching the address bar and the browser's developer tools Network tab.",
|
|
154
|
+
"Look for session IDs, tokens, passwords, national ID numbers, e-mail addresses or phone numbers in query strings.",
|
|
155
|
+
"Check password-reset and verification links: their tokens must be single-use and expire quickly.",
|
|
156
|
+
],
|
|
157
|
+
evidencePrompt: "Example URL pattern and the sensitive parameter name (mask the values).",
|
|
158
|
+
terms: [{ term: "Query string", meaning: "The part of a URL after the \"?\", e.g. ?id=5&token=…" }],
|
|
159
|
+
},
|
|
160
|
+
"9": {
|
|
161
|
+
guidance: "Data stored in the browser (cookies, localStorage, IndexedDB) can be read by scripts on the page and by anyone using the same device.",
|
|
162
|
+
howToTest: [
|
|
163
|
+
"Log in, then open developer tools → Application (Chrome) or Storage (Firefox).",
|
|
164
|
+
"Inspect cookies, localStorage, sessionStorage and IndexedDB for passwords, personal data, tokens or other sensitive values stored unencrypted.",
|
|
165
|
+
"Log out and check whether the sensitive data is removed.",
|
|
166
|
+
],
|
|
167
|
+
evidencePrompt: "Storage location, key name and the kind of data stored (mask the values).",
|
|
168
|
+
},
|
|
169
|
+
"10": {
|
|
170
|
+
guidance: "Web archives and search engines may keep copies of pages that exposed data before it was removed from the site.",
|
|
171
|
+
howToTest: [
|
|
172
|
+
"Search https://web.archive.org/web/*/your-domain/* for old pages, especially admin, export or document URLs.",
|
|
173
|
+
"Search with site:your-domain plus filetype:pdf, filetype:xls, filetype:sql or filetype:doc.",
|
|
174
|
+
"Request removal of anything sensitive from the archive and from search engines.",
|
|
175
|
+
],
|
|
176
|
+
evidencePrompt: "Archived or indexed URLs found and what they contained.",
|
|
177
|
+
},
|
|
178
|
+
"11": {
|
|
179
|
+
guidance: "Every external script runs with full access to your pages; a compromised or untrusted third party can steal data or change content.",
|
|
180
|
+
howToTest: [
|
|
181
|
+
"In developer tools → Network, list every script, stylesheet, font and iframe loaded from other domains.",
|
|
182
|
+
"For each one, confirm it is needed and comes from a trusted provider.",
|
|
183
|
+
"Check that third-party scripts use Subresource Integrity (an integrity=\"sha384-…\" attribute) where possible and that nothing loads over plain http.",
|
|
184
|
+
],
|
|
185
|
+
evidencePrompt: "List of external origins, and which lack integrity attributes.",
|
|
186
|
+
terms: [{ term: "Subresource Integrity (SRI)", meaning: "A hash in the script tag that makes the browser refuse the file if it was modified." }],
|
|
187
|
+
},
|
|
188
|
+
"12": {
|
|
189
|
+
guidance: "Pages with personal data must not be stored by browsers or shared proxies, or the next person using the computer may see them.",
|
|
190
|
+
howToTest: [
|
|
191
|
+
"Log in and open a page with personal data; in developer tools, read its Cache-Control response header.",
|
|
192
|
+
"It should be \"no-store\" (or at least \"private, no-cache\") on sensitive pages.",
|
|
193
|
+
"Log out and press the browser's Back button: sensitive pages must not reappear from the cache.",
|
|
194
|
+
],
|
|
195
|
+
evidencePrompt: "Page checked, Cache-Control value, and result of the Back-button test.",
|
|
196
|
+
},
|
|
197
|
+
"13": {
|
|
198
|
+
guidance: "Passwords and personal data must only travel over encrypted HTTPS connections, including in e-mails the system sends.",
|
|
199
|
+
howToTest: [
|
|
200
|
+
"Check that every form (login, registration, contact, payment) submits to an https:// address.",
|
|
201
|
+
"In developer tools → Network, confirm the page's API calls use HTTPS.",
|
|
202
|
+
"Check that e-mails sent by the system do not contain passwords or sensitive data in plain text.",
|
|
203
|
+
],
|
|
204
|
+
evidencePrompt: "Forms and endpoints checked, and any that used HTTP.",
|
|
205
|
+
},
|
|
206
|
+
"14": {
|
|
207
|
+
guidance: "Every page of a site that handles sensitive data must be served only over HTTPS.",
|
|
208
|
+
howToTest: [
|
|
209
|
+
"Open http://your-site/ and a few deep links with http:// instead of https://.",
|
|
210
|
+
"Each one must redirect (status 301 or 308) to the HTTPS version.",
|
|
211
|
+
"Repeat for the subdomains in use (www, portal, api…).",
|
|
212
|
+
],
|
|
213
|
+
evidencePrompt: "URLs tested and the redirect status codes received.",
|
|
214
|
+
},
|
|
215
|
+
"15": {
|
|
216
|
+
guidance: "An HTTPS page that loads scripts, images or frames over plain HTTP can be tampered with on the network.",
|
|
217
|
+
howToTest: [
|
|
218
|
+
"Open the main pages over HTTPS with the developer tools Console open; browsers print \"Mixed Content\" warnings.",
|
|
219
|
+
"Search the page source for src=\"http:// and href=\"http:// on scripts, styles, iframes, images and form actions.",
|
|
220
|
+
"Repeat on pages behind the login.",
|
|
221
|
+
],
|
|
222
|
+
evidencePrompt: "Pages and the resources they loaded over HTTP.",
|
|
223
|
+
terms: [{ term: "Mixed content", meaning: "An HTTPS page that loads some of its parts over unencrypted HTTP." }],
|
|
224
|
+
},
|
|
225
|
+
"16": {
|
|
226
|
+
guidance: "HSTS tells browsers to always use HTTPS for the site, which prevents attackers from downgrading connections to HTTP.",
|
|
227
|
+
howToTest: [
|
|
228
|
+
"In developer tools, check the Strict-Transport-Security header on HTTPS responses.",
|
|
229
|
+
"max-age should be at least 15768000 (six months); includeSubDomains is recommended.",
|
|
230
|
+
"Confirm it is sent on all pages, not only the home page.",
|
|
231
|
+
],
|
|
232
|
+
evidencePrompt: "The header value and the pages checked.",
|
|
233
|
+
terms: [{ term: "HSTS", meaning: "A response header that makes browsers refuse plain-HTTP connections to the site." }],
|
|
234
|
+
},
|
|
235
|
+
"17": {
|
|
236
|
+
guidance: "Old protocol versions and weak ciphers allow encrypted traffic to be decrypted or tampered with.",
|
|
237
|
+
howToTest: [
|
|
238
|
+
"Run SSL Labs (https://www.ssllabs.com/ssltest/) for public sites, or testssl.sh for internal ones.",
|
|
239
|
+
"Confirm SSLv3, TLS 1.0 and TLS 1.1 are disabled, and no RC4, 3DES, NULL or EXPORT ciphers are offered.",
|
|
240
|
+
"Review any known vulnerabilities the tool lists (for example Heartbleed or ROBOT).",
|
|
241
|
+
],
|
|
242
|
+
evidencePrompt: "Tool used, its grade or summary, and any weak protocol or cipher found.",
|
|
243
|
+
terms: [{ term: "Cipher suite", meaning: "The set of algorithms used to encrypt a TLS connection." }],
|
|
244
|
+
},
|
|
245
|
+
"18": {
|
|
246
|
+
guidance: "Browsers only trust certificates from recognised authorities that match the hostname and are in date. Anything else trains users to click through warnings.",
|
|
247
|
+
howToTest: [
|
|
248
|
+
"Click the padlock and view the certificate: issuer, validity dates and the names it covers.",
|
|
249
|
+
"Confirm it is issued by a trusted authority, unexpired, covers every hostname in use, and uses a 2048-bit (or larger) RSA key or an ECDSA key.",
|
|
250
|
+
"Confirm renewal is automated or tracked so it does not expire unnoticed.",
|
|
251
|
+
],
|
|
252
|
+
evidencePrompt: "Issuer, expiry date, key type and size.",
|
|
253
|
+
references: [
|
|
254
|
+
"SWMS v1.0 §2.5 N: organizations should continuously ensure communication encryption certificate updates of their website.",
|
|
255
|
+
],
|
|
256
|
+
},
|
|
257
|
+
"19": {
|
|
258
|
+
guidance: "Only standard, well-reviewed algorithms should be used. Custom or outdated ones (MD5, SHA-1, DES, RC4) can be broken.",
|
|
259
|
+
howToTest: [
|
|
260
|
+
"Ask the developers which algorithms are used for hashing, encryption and signing, and where.",
|
|
261
|
+
"Search the code for md5, sha1, des, rc4, blowfish, and home-made \"encrypt\" or \"obfuscate\" functions.",
|
|
262
|
+
"Confirm passwords are hashed with bcrypt, scrypt, Argon2 or PBKDF2.",
|
|
263
|
+
],
|
|
264
|
+
evidencePrompt: "Algorithms found and where they are used.",
|
|
265
|
+
terms: [{ term: "Hash", meaning: "A one-way fingerprint of data. MD5 and SHA-1 are now considered broken." }],
|
|
266
|
+
references: [
|
|
267
|
+
"CMCSRS v2.0 §6.18 a: use secure cryptographic systems approved by INSA when applying cryptographic security measures.",
|
|
268
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls."
|
|
269
|
+
],
|
|
270
|
+
},
|
|
271
|
+
"20": {
|
|
272
|
+
guidance: "Good algorithms fail when misused: fixed keys or IVs, ECB mode, keys stored in the code, or predictable random numbers.",
|
|
273
|
+
howToTest: [
|
|
274
|
+
"Review encryption code for hard-coded keys or IVs and for ECB mode.",
|
|
275
|
+
"Check tokens and passwords are generated with a cryptographically secure generator (Python secrets, Java SecureRandom, crypto.randomBytes), not random().",
|
|
276
|
+
"Check outgoing HTTPS connections never disable certificate verification.",
|
|
277
|
+
"Check where keys are stored: environment variables or a secret store, not the repository.",
|
|
278
|
+
],
|
|
279
|
+
evidencePrompt: "Each problem found and its location.",
|
|
280
|
+
terms: [
|
|
281
|
+
{ term: "IV (initialisation vector)", meaning: "A random value that must be different for every encryption." },
|
|
282
|
+
{ term: "ECB mode", meaning: "An encryption mode that leaks patterns in the data; it should not be used." },
|
|
283
|
+
],
|
|
284
|
+
references: [
|
|
285
|
+
"CMCSRS v2.0 §6.18 a: use secure cryptographic systems approved by INSA when applying cryptographic security measures.",
|
|
286
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls."
|
|
287
|
+
],
|
|
288
|
+
},
|
|
289
|
+
// --- State Management ----------------------------------------------------------
|
|
290
|
+
"21": {
|
|
291
|
+
guidance: "Values the server trusts from the browser (hidden fields, cookies, prices, roles, step numbers) can be changed by the user.",
|
|
292
|
+
howToTest: [
|
|
293
|
+
"Use an intercepting proxy (OWASP ZAP or Burp Suite) or the browser developer tools to inspect hidden form fields, cookies and request parameters.",
|
|
294
|
+
"Change values such as price, quantity, role, user ID or isAdmin and submit the request.",
|
|
295
|
+
"The server must reject the change or recalculate the value itself.",
|
|
296
|
+
],
|
|
297
|
+
evidencePrompt: "Parameter changed, value used, and the server's response.",
|
|
298
|
+
terms: [{ term: "Intercepting proxy", meaning: "A tool that lets you see and edit the requests between your browser and the server." }],
|
|
299
|
+
references: [
|
|
300
|
+
"SSDMS v1.0 §8.3.2.2 (ST2) Std 9, 11: manual penetration testing against the project's security test cases, including application-specific tests of business logic.",
|
|
301
|
+
"SSDMS v1.0 §6.2.2.1 (SR1) Std 3: the designer must review functionality from an attacker's perspective to understand how it could be misused.",
|
|
302
|
+
],
|
|
303
|
+
},
|
|
304
|
+
"22": {
|
|
305
|
+
guidance: "Multi-step processes (applications, payments, approvals) must enforce the order of steps on the server, not only in the user interface.",
|
|
306
|
+
howToTest: [
|
|
307
|
+
"Walk through a multi-step process and note the URL or request of each step.",
|
|
308
|
+
"Try jumping straight to a later step, repeating a step (for example submitting a payment twice), or changing earlier data after approval.",
|
|
309
|
+
"The server must refuse out-of-order or repeated actions.",
|
|
310
|
+
],
|
|
311
|
+
evidencePrompt: "Process tested, the step skipped or repeated, and the result.",
|
|
312
|
+
references: [
|
|
313
|
+
"SSDMS v1.0 §8.3.2.2 (ST2) Std 9, 11: manual penetration testing against the project's security test cases, including application-specific tests of business logic.",
|
|
314
|
+
"SSDMS v1.0 §6.2.2.1 (SR1) Std 3: the designer must review functionality from an attacker's perspective to understand how it could be misused.",
|
|
315
|
+
],
|
|
316
|
+
},
|
|
317
|
+
// --- Authentication and Authorization Process -----------------------------------
|
|
318
|
+
"23": {
|
|
319
|
+
guidance: "Every protected page and API must check both that the user is logged in and that they are allowed to perform the action.",
|
|
320
|
+
howToTest: [
|
|
321
|
+
"Log in as a normal user and collect URLs of admin or other-role pages (from menus, JavaScript files or documentation).",
|
|
322
|
+
"Log out and request those URLs directly; then request them again as the normal user.",
|
|
323
|
+
"Repeat for API endpoints, including state-changing POST, PUT and DELETE requests.",
|
|
324
|
+
"Every request must end in a login redirect or a 401/403 response.",
|
|
325
|
+
],
|
|
326
|
+
evidencePrompt: "URL, role used, and response status for each request.",
|
|
327
|
+
terms: [
|
|
328
|
+
{ term: "Authentication", meaning: "Proving who you are (logging in)." },
|
|
329
|
+
{ term: "Authorization", meaning: "Deciding what a logged-in user is allowed to do." },
|
|
330
|
+
],
|
|
331
|
+
references: [
|
|
332
|
+
"CMCSRS v2.0 §5.7 e.6: each user should authenticate using an appropriate authentication method before being granted access to applications.",
|
|
333
|
+
"CMCSRS v2.0 §6.17 e: access control rules must align with business requirements, asset classification and legal obligations.",
|
|
334
|
+
"SWMS v1.0 §2.5 C–D: website access rights are granted and revoked via documented procedures; privileges are categorized by business requirements and website policy.",
|
|
335
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
336
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities."
|
|
337
|
+
],
|
|
338
|
+
},
|
|
339
|
+
"24": {
|
|
340
|
+
guidance: "Login decisions made in the browser (password checks in JavaScript, hidden admin buttons) can be bypassed.",
|
|
341
|
+
howToTest: [
|
|
342
|
+
"Read the login page's JavaScript for password checks, hard-coded credentials or isLoggedIn flags.",
|
|
343
|
+
"Disable JavaScript, or edit local variables and storage (for example set role=admin in localStorage), then reload.",
|
|
344
|
+
"Confirm the server still refuses access to protected data and actions.",
|
|
345
|
+
],
|
|
346
|
+
evidencePrompt: "What was changed and how the server responded.",
|
|
347
|
+
references: [
|
|
348
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
349
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
350
|
+
],
|
|
351
|
+
},
|
|
352
|
+
// --- Items with INSA references only (no authored test guidance yet; the review shows the registry note) ---
|
|
353
|
+
"25": {
|
|
354
|
+
references: [
|
|
355
|
+
"CMCSRS v2.0 §5.7 d.2: any default password for a user account should be changed to a strong, alternative password.",
|
|
356
|
+
"SWMS v1.0 §2.5 E: access credentials should be updated in a fixed time frame and whenever there is a change in structure or strategic mission.",
|
|
357
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
358
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities."
|
|
359
|
+
],
|
|
360
|
+
},
|
|
361
|
+
"28": {
|
|
362
|
+
references: [
|
|
363
|
+
"CMCSRS v2.0 §5.7 e.2–3: special access privileges are restricted to a limited number of authorized individuals, documented and reviewed regularly (e.g. quarterly).",
|
|
364
|
+
"SWMS v1.0 §2.5 D: website access privileges should be categorized based on business requirements and the website policy.",
|
|
365
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
366
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities."
|
|
367
|
+
],
|
|
368
|
+
},
|
|
369
|
+
"36": {
|
|
370
|
+
references: [
|
|
371
|
+
"CMCSRS v2.0 §5.7 e.1: all user account creation should be subject to a provisioning and approval process.",
|
|
372
|
+
"CMCSRS v2.0 §5.7 e.5: administrative accounts should require a password change regularly.",
|
|
373
|
+
"SSDMS v1.0 §7.2 Secure Deployment, Std 11–12 (p. 53): developers must not have access to production secrets or credentials; production secrets must be adequately protected."
|
|
374
|
+
],
|
|
375
|
+
},
|
|
376
|
+
"37": {
|
|
377
|
+
references: [
|
|
378
|
+
"Related (IoT scope) CMCSRS v2.0 §6.31 f.5: enforce resource consumption limits and practice throttling.",
|
|
379
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
380
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities."
|
|
381
|
+
],
|
|
382
|
+
},
|
|
383
|
+
"77": {
|
|
384
|
+
references: [
|
|
385
|
+
"Related CMCSRS v2.0 §6.28 c–e: event logs are produced and reviewed, protected against tampering and unauthorized access, and retained for at least one month.",
|
|
386
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 12 (p. 50): the developer must implement security logging and monitoring."
|
|
387
|
+
],
|
|
388
|
+
},
|
|
389
|
+
"90": {
|
|
390
|
+
references: [
|
|
391
|
+
"CMCSRS v2.0 §5.7 g.2, g.4: install software updates on time (e.g. within 30 days) and security patches in a timely manner (e.g. within 14 days).",
|
|
392
|
+
"CMCSRS v2.0 §6.25 c, e: run vulnerability management throughout the system life cycle, including assessments before deployment and after significant changes.",
|
|
393
|
+
"SWMS v1.0 §2.5 I, L, M: website changes and patches are reviewed, tested on a separate environment and approved under formal change control.",
|
|
394
|
+
"SSDMS v1.0 §9.2.2.1 (EM1) Std 5–7: identify applications and components that need patching (OS, application servers, libraries), test patches before production, and apply them in maintenance windows (critical fixes sooner).",
|
|
395
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 7, 14, 21 (pp. 49–50): keep an allow-list of approved dependencies, verify them with SAST, and fail the build when they contain issues above a defined criticality."
|
|
396
|
+
],
|
|
397
|
+
},
|
|
398
|
+
"91": {
|
|
399
|
+
references: [
|
|
400
|
+
"CMCSRS v2.0 §5.7 g.1, g.3: internet-connected software should be supported by its vendor; out-of-date (unsupported) software should be removed.",
|
|
401
|
+
"SSDMS v1.0 §9.2.2.1 (EM1) Std 10: teams must be able to determine the versions of all components in use, to tell whether they are affected by a vulnerability."
|
|
402
|
+
],
|
|
403
|
+
},
|
|
404
|
+
"92": {
|
|
405
|
+
references: [
|
|
406
|
+
"CMCSRS v2.0 §5.7 c.6: insecure or unapproved services that are typically vulnerable to attack should be disabled unless a compensating control is implemented.",
|
|
407
|
+
"SSDMS v1.0 §9.2.2.1 (EM1) Std 1, 3: apply a secure configuration to every element of the technology stack and establish configuration standards for common stacks."
|
|
408
|
+
],
|
|
409
|
+
},
|
|
410
|
+
"93": {
|
|
411
|
+
references: [
|
|
412
|
+
"CMCSRS v2.0 §5.7 d.1, d.3: unnecessary user accounts and unnecessary software, utilities and network services should be removed or disabled.",
|
|
413
|
+
"CMCSRS v2.0 §5.7 d.6: configure system components using industry-accepted standards and vendor hardening guides.",
|
|
414
|
+
"SSDMS v1.0 §9.2.2.1 (EM1) Std 1, 3: apply a secure configuration to every element of the technology stack and establish configuration standards for common stacks.",
|
|
415
|
+
"SSDMS v1.0 §7.2 Secure Deployment, Std 7–8 (p. 53): deployment tools are kept patched and their configuration hardened per vendor guidance."
|
|
416
|
+
],
|
|
417
|
+
},
|
|
418
|
+
"94": {
|
|
419
|
+
references: [
|
|
420
|
+
"CMCSRS v2.0 §5.7 c.4: the default administrative password of any firewall or network security device must be changed to a strong password.",
|
|
421
|
+
"CMCSRS v2.0 §5.7 d.2: any default password for a user account should be changed to a strong, alternative password.",
|
|
422
|
+
],
|
|
423
|
+
},
|
|
424
|
+
"95": {
|
|
425
|
+
references: [
|
|
426
|
+
"CMCSRS v2.0 §5.7 g.4: security patches should be installed in a timely manner (e.g. within 14 days of release).",
|
|
427
|
+
"SWMS v1.0 §2.5 O: follow and monitor periodic security updates and changes of the hosting service provider.",
|
|
428
|
+
"SSDMS v1.0 §9.2.2.1 (EM1) Std 5–7: identify applications and components that need patching (OS, application servers, libraries), test patches before production, and apply them in maintenance windows (critical fixes sooner)."
|
|
429
|
+
],
|
|
430
|
+
},
|
|
431
|
+
"26": {
|
|
432
|
+
references: [
|
|
433
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
434
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
435
|
+
],
|
|
436
|
+
},
|
|
437
|
+
"27": {
|
|
438
|
+
references: [
|
|
439
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
440
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
441
|
+
],
|
|
442
|
+
},
|
|
443
|
+
"29": {
|
|
444
|
+
references: [
|
|
445
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
446
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
447
|
+
],
|
|
448
|
+
},
|
|
449
|
+
"30": {
|
|
450
|
+
references: [
|
|
451
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
452
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
453
|
+
],
|
|
454
|
+
},
|
|
455
|
+
"31": {
|
|
456
|
+
references: [
|
|
457
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
458
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
459
|
+
],
|
|
460
|
+
},
|
|
461
|
+
"32": {
|
|
462
|
+
references: [
|
|
463
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
464
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
465
|
+
],
|
|
466
|
+
},
|
|
467
|
+
"33": {
|
|
468
|
+
references: [
|
|
469
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
470
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
471
|
+
],
|
|
472
|
+
},
|
|
473
|
+
"34": {
|
|
474
|
+
references: [
|
|
475
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
476
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
477
|
+
],
|
|
478
|
+
},
|
|
479
|
+
"35": {
|
|
480
|
+
references: [
|
|
481
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
482
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
483
|
+
],
|
|
484
|
+
},
|
|
485
|
+
"38": {
|
|
486
|
+
references: [
|
|
487
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
488
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
489
|
+
],
|
|
490
|
+
},
|
|
491
|
+
"39": {
|
|
492
|
+
references: [
|
|
493
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
494
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
495
|
+
],
|
|
496
|
+
},
|
|
497
|
+
"40": {
|
|
498
|
+
references: [
|
|
499
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
500
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
501
|
+
],
|
|
502
|
+
},
|
|
503
|
+
"41": {
|
|
504
|
+
references: [
|
|
505
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
506
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
507
|
+
],
|
|
508
|
+
},
|
|
509
|
+
"42": {
|
|
510
|
+
references: [
|
|
511
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
512
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
513
|
+
],
|
|
514
|
+
},
|
|
515
|
+
"43": {
|
|
516
|
+
references: [
|
|
517
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
518
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
519
|
+
],
|
|
520
|
+
},
|
|
521
|
+
"44": {
|
|
522
|
+
references: [
|
|
523
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
524
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
525
|
+
],
|
|
526
|
+
},
|
|
527
|
+
"45": {
|
|
528
|
+
references: [
|
|
529
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
530
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
531
|
+
],
|
|
532
|
+
},
|
|
533
|
+
"46": {
|
|
534
|
+
references: [
|
|
535
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
536
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
537
|
+
],
|
|
538
|
+
},
|
|
539
|
+
"47": {
|
|
540
|
+
references: [
|
|
541
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
542
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
543
|
+
],
|
|
544
|
+
},
|
|
545
|
+
"48": {
|
|
546
|
+
references: [
|
|
547
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
548
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
549
|
+
],
|
|
550
|
+
},
|
|
551
|
+
"49": {
|
|
552
|
+
references: [
|
|
553
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
554
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
555
|
+
],
|
|
556
|
+
},
|
|
557
|
+
"50": {
|
|
558
|
+
references: [
|
|
559
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
560
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
561
|
+
],
|
|
562
|
+
},
|
|
563
|
+
"51": {
|
|
564
|
+
references: [
|
|
565
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
566
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
567
|
+
],
|
|
568
|
+
},
|
|
569
|
+
"53": {
|
|
570
|
+
references: [
|
|
571
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
572
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
573
|
+
],
|
|
574
|
+
},
|
|
575
|
+
"54": {
|
|
576
|
+
references: [
|
|
577
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
578
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
579
|
+
],
|
|
580
|
+
},
|
|
581
|
+
"55": {
|
|
582
|
+
references: [
|
|
583
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
584
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
585
|
+
],
|
|
586
|
+
},
|
|
587
|
+
"56": {
|
|
588
|
+
references: [
|
|
589
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
590
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
591
|
+
],
|
|
592
|
+
},
|
|
593
|
+
"57": {
|
|
594
|
+
references: [
|
|
595
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
596
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
597
|
+
],
|
|
598
|
+
},
|
|
599
|
+
"58": {
|
|
600
|
+
references: [
|
|
601
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
602
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 2: security tests must at least include testing for authentication, access control, input validation, encoding and escaping of data, and encryption controls.",
|
|
603
|
+
],
|
|
604
|
+
},
|
|
605
|
+
"59": {
|
|
606
|
+
references: [
|
|
607
|
+
"SSDMS v1.0 §8.2.2.1 (RT1) Std 8: the tester must perform fuzzing, sending random or malformed data to the application.",
|
|
608
|
+
],
|
|
609
|
+
},
|
|
610
|
+
"61": {
|
|
611
|
+
references: [
|
|
612
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
613
|
+
],
|
|
614
|
+
},
|
|
615
|
+
"62": {
|
|
616
|
+
references: [
|
|
617
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
618
|
+
],
|
|
619
|
+
},
|
|
620
|
+
"63": {
|
|
621
|
+
references: [
|
|
622
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
623
|
+
],
|
|
624
|
+
},
|
|
625
|
+
"64": {
|
|
626
|
+
references: [
|
|
627
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
628
|
+
],
|
|
629
|
+
},
|
|
630
|
+
"65": {
|
|
631
|
+
references: [
|
|
632
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
633
|
+
],
|
|
634
|
+
},
|
|
635
|
+
"66": {
|
|
636
|
+
references: [
|
|
637
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
638
|
+
],
|
|
639
|
+
},
|
|
640
|
+
"67": {
|
|
641
|
+
references: [
|
|
642
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
643
|
+
],
|
|
644
|
+
},
|
|
645
|
+
"68": {
|
|
646
|
+
references: [
|
|
647
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
648
|
+
],
|
|
649
|
+
},
|
|
650
|
+
"69": {
|
|
651
|
+
references: [
|
|
652
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
653
|
+
],
|
|
654
|
+
},
|
|
655
|
+
"70": {
|
|
656
|
+
references: [
|
|
657
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
658
|
+
],
|
|
659
|
+
},
|
|
660
|
+
"71": {
|
|
661
|
+
references: [
|
|
662
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
663
|
+
],
|
|
664
|
+
},
|
|
665
|
+
"72": {
|
|
666
|
+
references: [
|
|
667
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
668
|
+
],
|
|
669
|
+
},
|
|
670
|
+
"73": {
|
|
671
|
+
references: [
|
|
672
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
673
|
+
],
|
|
674
|
+
},
|
|
675
|
+
"74": {
|
|
676
|
+
references: [
|
|
677
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
678
|
+
],
|
|
679
|
+
},
|
|
680
|
+
"75": {
|
|
681
|
+
references: [
|
|
682
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
683
|
+
],
|
|
684
|
+
},
|
|
685
|
+
"76": {
|
|
686
|
+
references: [
|
|
687
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
688
|
+
],
|
|
689
|
+
},
|
|
690
|
+
"86": {
|
|
691
|
+
references: [
|
|
692
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
693
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
694
|
+
],
|
|
695
|
+
},
|
|
696
|
+
"87": {
|
|
697
|
+
references: [
|
|
698
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
699
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
700
|
+
],
|
|
701
|
+
},
|
|
702
|
+
"88": {
|
|
703
|
+
references: [
|
|
704
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
705
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
706
|
+
],
|
|
707
|
+
},
|
|
708
|
+
"89": {
|
|
709
|
+
references: [
|
|
710
|
+
"SSDMS v1.0 §7.1 Secure Build, Std 13 (p. 49): the developer must validate all inputs.",
|
|
711
|
+
"SSDMS v1.0 §8.3.2.1 (ST1) Std 11: review high-risk modules (authentication, access control enforcement points, session management, external interfaces, input validators and data parsers) for common vulnerabilities.",
|
|
712
|
+
],
|
|
713
|
+
},
|
|
714
|
+
"102": {
|
|
715
|
+
references: [
|
|
716
|
+
"SSDMS v1.0 §8.3.2.2 (ST2) Std 9, 11: manual penetration testing against the project's security test cases, including application-specific tests of business logic.",
|
|
717
|
+
"SSDMS v1.0 §6.2.2.1 (SR1) Std 3: the designer must review functionality from an attacker's perspective to understand how it could be misused.",
|
|
718
|
+
],
|
|
719
|
+
},
|
|
720
|
+
},
|
|
721
|
+
};
|
|
722
|
+
//# sourceMappingURL=en.js.map
|