@slicedearth/whoisleuth-cli 2.6.0 → 2.8.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/DISCLOSURE +8 -5
- package/NOTICE +3 -2
- package/README.md +60 -67
- package/cli/artifact-validation/case-response.mjs +6 -857
- package/cli/artifact-validation/lookup-evidence.mjs +15 -2
- package/cli/artifact-verify.mjs +32 -1
- package/cli/bulk-command-runner.mjs +5 -4
- package/cli/case-command.mjs +17 -17
- package/cli/case-pack.mjs +7 -1
- package/cli/ci-report.mjs +17 -5
- package/cli/collection-arguments.mjs +6 -0
- package/cli/collection-command-definitions.mjs +13 -3
- package/cli/command-definition.mjs +7 -5
- package/cli/discovery-scan-command-runner.mjs +13 -7
- package/cli/doctor.mjs +37 -3
- package/cli/domain-control-monitor.mjs +25 -2
- package/cli/domain-control-observations.mjs +52 -15
- package/cli/fail-policy.mjs +31 -22
- package/cli/formatters/html.mjs +3 -0
- package/cli/formatters/json.mjs +8 -1
- package/cli/formatters/terminal-lookup.mjs +24 -1
- package/cli/history-command-definitions.mjs +1 -1
- package/cli/investigation-plan.mjs +15 -0
- package/cli/lookup-brief.mjs +11 -5
- package/cli/lookup-command-runner.mjs +26 -18
- package/cli/lookup-diff.mjs +1 -0
- package/cli/review-command-definitions.mjs +11 -11
- package/cli/risk-policy.mjs +83 -0
- package/cli/saved-lookup.mjs +22 -7
- package/cli/source-reliability.mjs +12 -10
- package/cli/support-arguments.mjs +1 -1
- package/cli/support-command-definitions.mjs +5 -4
- package/cli/support-command-runner.mjs +6 -4
- package/cli/workflow-command-definitions.mjs +2 -1
- package/cli/workflow-command-runner.mjs +5 -1
- package/docs/cli-reference.md +56 -11
- package/docs/cli.md +162 -33
- package/docs/contextual-reviews.md +10 -0
- package/docs/infrastructure-observations.md +9 -0
- package/lib/dmarc-discovery.mjs +4 -2
- package/lib/dns-inheritance-review.mjs +14 -1
- package/lib/evidence-export.mjs +10 -4
- package/lib/evidence-report.mjs +2 -1
- package/lib/generated/cisa-kev-catalog.mjs +19 -4
- package/lib/generated/registrar-standing-catalogue.mjs +7 -7
- package/lib/generated/retire-browser-catalog.mjs +178 -5
- package/lib/idn-confusables.mjs +5 -1
- package/lib/lookup-collection-receipt.mjs +52 -0
- package/lib/lookup-diagnostics.mjs +2 -12
- package/lib/lookup-progress.mjs +29 -31
- package/lib/lookup-response-contract.mjs +9 -0
- package/lib/lookup-response.mjs +15 -14
- package/lib/lookup-source-progress.mjs +4 -2
- package/lib/lookup.mjs +33 -2
- package/lib/rdap-capabilities.mjs +43 -9
- package/lib/registry-insights.mjs +17 -6
- package/lib/sslbl-certificates.generated.mjs +143 -142
- package/lib/whois-authority.mjs +56 -1
- package/lib/whois-chain.mjs +2 -1
- package/lib/whois-contracts.mjs +2 -0
- package/lib/whois-normalization.mjs +4 -4
- package/package.json +6 -6
- package/packages/analysis/bounded-json.mjs +12 -2
- package/packages/analysis/brand-profile-signals.mjs +42 -0
- package/packages/cases/case-attachment-model.mjs +36 -1
- package/packages/cases/case-checkpoint-receipts.mjs +68 -0
- package/packages/cases/case-evidence-links.mjs +28 -0
- package/packages/cases/case-evidence-model.mjs +39 -6
- package/packages/cases/case-migration-model.mjs +9 -1
- package/packages/cases/case-object-coverage.mjs +106 -20
- package/packages/cases/case-record-operations.mjs +13 -0
- package/packages/cases/case-record-projection.mjs +28 -2
- package/packages/cases/case-report.mjs +5 -4
- package/packages/cases/case-response-packet-validation.mjs +880 -0
- package/packages/cases/case-response-packet-vocabulary.mjs +12 -1
- package/packages/cases/case-response-packet.mjs +2 -15
- package/packages/cases/case-response-review-inputs.mjs +18 -1
- package/packages/cases/case-type-presentation.mjs +10 -0
- package/packages/cases/case-workflow-metadata.mjs +0 -8
- package/packages/comparison/capture-context.mjs +3 -2
- package/packages/contracts/analyst-review-state-contract.mjs +1 -1
- package/packages/contracts/case-portability.mjs +59 -28
- package/packages/contracts/cli-doctor.mjs +4 -0
- package/packages/contracts/cli-lookup.mjs +57 -46
- package/packages/contracts/lookup-evidence.mjs +12 -2
- package/packages/contracts/registry-insights.mjs +6 -0
- package/packages/evidence/dmarc-policy-context.mjs +80 -0
- package/packages/evidence/lookup-collection-receipt.mjs +140 -0
- package/packages/evidence/lookup-collection-review.mjs +74 -0
- package/packages/interchange/external-findings-import.mjs +8 -4
- package/packages/investigation/bulk-domain-comparison.mjs +17 -8
- package/packages/investigation/bulk-mail-exposure.mjs +2 -2
- package/packages/investigation/domain-history-review.mjs +7 -1
- package/packages/workspace/brand-keyword-campaign.mjs +11 -1
- package/packages/workspace/bulk-session-model.mjs +8 -0
- package/third-party-notices.txt +30 -30
|
@@ -187,7 +187,7 @@ function structuredObservation(value, index) {
|
|
|
187
187
|
function findingKey(finding, sourceName) {
|
|
188
188
|
return canonicalArtifactJsonV2({ sourceName, finding });
|
|
189
189
|
}
|
|
190
|
-
export function parseExternalFindingsDocument(value) {
|
|
190
|
+
export function parseExternalFindingsDocument(value, observeOrigin) {
|
|
191
191
|
const root = record(value);
|
|
192
192
|
if (!root || !hasOnlyKeys(root, ROOT_KEYS)) {
|
|
193
193
|
throw new Error('External findings must use the documented object shape without additional top-level fields.');
|
|
@@ -210,7 +210,7 @@ export function parseExternalFindingsDocument(value) {
|
|
|
210
210
|
}
|
|
211
211
|
const normalized = [];
|
|
212
212
|
let retainedBytes = new TextEncoder().encode(JSON.stringify({ schema: root.schema, schemaVersion: root.schemaVersion, source, findings: [] })).byteLength + 1;
|
|
213
|
-
const seen = new
|
|
213
|
+
const seen = new Map();
|
|
214
214
|
const domainCounts = new Map();
|
|
215
215
|
for (const [index, raw] of root.findings.entries()) {
|
|
216
216
|
const item = record(raw);
|
|
@@ -258,9 +258,12 @@ export function parseExternalFindingsDocument(value) {
|
|
|
258
258
|
throw new TypeError('External findings exceed the retained aggregate byte bound.');
|
|
259
259
|
}
|
|
260
260
|
const key = findingKey(finding, source.name);
|
|
261
|
-
|
|
261
|
+
const previous = seen.get(key);
|
|
262
|
+
if (previous) {
|
|
263
|
+
observeOrigin?.(previous, index);
|
|
262
264
|
continue;
|
|
263
|
-
|
|
265
|
+
}
|
|
266
|
+
seen.set(key, finding);
|
|
264
267
|
const count = (domainCounts.get(domain) ?? 0) + 1;
|
|
265
268
|
if (count > MAX_EXTERNAL_FINDINGS_PER_DOMAIN) {
|
|
266
269
|
throw new Error(`External findings exceed the ${MAX_EXTERNAL_FINDINGS_PER_DOMAIN}-finding per-domain limit.`);
|
|
@@ -270,6 +273,7 @@ export function parseExternalFindingsDocument(value) {
|
|
|
270
273
|
throw new Error(`External findings exceed the ${MAX_EXTERNAL_FINDING_DOMAINS}-domain limit.`);
|
|
271
274
|
}
|
|
272
275
|
normalized.push(finding);
|
|
276
|
+
observeOrigin?.(finding, index);
|
|
273
277
|
}
|
|
274
278
|
if (!normalized.length)
|
|
275
279
|
throw new Error('External findings did not contain a unique valid finding.');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { normalizeBulkSessionResult, } from "../workspace/bulk-session-model.mjs";
|
|
2
2
|
import { SORTED_JSON_V2, sha256ArtifactDigestV2 } from "../evidence/artifact-integrity.mjs";
|
|
3
|
+
import { webCollectionAllowsComparison } from "../evidence/collection-quality.mjs";
|
|
3
4
|
import { BULK_REVIEW_STALE_AFTER_DAYS } from "./bulk-review-policy.mjs";
|
|
4
5
|
import { BULK_DOMAIN_COMPARISON_EXPORT_VERSION, BULK_DOMAIN_COMPARISON_SCHEMA, BULK_DOMAIN_COMPARISON_VERSION, } from "../contracts/investigation-portability.mjs";
|
|
5
6
|
export { BULK_DOMAIN_COMPARISON_EXPORT_VERSION, BULK_DOMAIN_COMPARISON_SCHEMA, BULK_DOMAIN_COMPARISON_VERSION };
|
|
@@ -90,7 +91,7 @@ function row(id, category, label, left, right, method, context, limitations = []
|
|
|
90
91
|
label,
|
|
91
92
|
left: options.retained === false ? 'Not recorded in compact Bulk evidence' : display(left),
|
|
92
93
|
right: options.retained === false ? 'Not recorded in compact Bulk evidence' : display(right),
|
|
93
|
-
state: state(left, right, context.leftSourceState, context.rightSourceState, options),
|
|
94
|
+
state: context.webComparable === false ? 'unavailable' : state(left, right, context.leftSourceState, context.rightSourceState, options),
|
|
94
95
|
method: text(method, 320),
|
|
95
96
|
source: text(context.source, 80),
|
|
96
97
|
leftSourceState: context.leftSourceState,
|
|
@@ -98,7 +99,10 @@ function row(id, category, label, left, right, method, context, limitations = []
|
|
|
98
99
|
observedAt: context.observedAt,
|
|
99
100
|
leftEvidenceHref: context.leftEvidenceHref,
|
|
100
101
|
rightEvidenceHref: context.rightEvidenceHref,
|
|
101
|
-
limitations:
|
|
102
|
+
limitations: [
|
|
103
|
+
...(context.webComparable === false ? ['Incomplete or unknown web collection; retained values are not comparable.'] : []),
|
|
104
|
+
...limitations,
|
|
105
|
+
].map((item) => text(item, 320)).filter(Boolean).slice(0, 6),
|
|
102
106
|
};
|
|
103
107
|
}
|
|
104
108
|
function sourceSummary(value) {
|
|
@@ -157,6 +161,11 @@ export function buildBulkDomainComparison(leftRaw, rightRaw, observedAtRaw = nul
|
|
|
157
161
|
const registry = context(left, right, 'Registry and registrar evidence', ['rdap', 'availability'], observedAt, options);
|
|
158
162
|
const dns = context(left, right, 'DNS evidence', ['dns'], observedAt, options);
|
|
159
163
|
const http = context(left, right, 'HTTP and static page evidence', ['http'], observedAt, options);
|
|
164
|
+
const webContext = (field, base = http) => ({
|
|
165
|
+
...base,
|
|
166
|
+
webComparable: webCollectionAllowsComparison(field, left.webCollectionQuality, left.scanDepth)
|
|
167
|
+
&& webCollectionAllowsComparison(field, right.webCollectionQuality, right.scanDepth),
|
|
168
|
+
});
|
|
160
169
|
const tls = context(left, right, 'TLS evidence', ['tls'], observedAt, options);
|
|
161
170
|
const compactTechnology = comparisonEvidenceContext(left, right, 'technology', {
|
|
162
171
|
...http,
|
|
@@ -203,13 +212,13 @@ export function buildBulkDomainComparison(leftRaw, rightRaw, observedAtRaw = nul
|
|
|
203
212
|
row('null-mx', 'mail', 'Null MX observed', left.hasNullMx, right.hasNullMx, 'Compact Deep DNS observation', dns),
|
|
204
213
|
row('spf', 'mail', 'SPF observed', left.hasSpf, right.hasSpf, 'Compact Deep DNS observation', dns),
|
|
205
214
|
row('dmarc', 'mail', 'DMARC observed', left.hasDmarc, right.hasDmarc, 'Compact Deep DNS observation', dns),
|
|
206
|
-
row('website', 'web', 'Website activity', left.activityStatus, right.activityStatus, 'Bounded homepage observation',
|
|
207
|
-
row('page-title', 'identity', 'Page title', left.pageTitle, right.pageTitle, 'Normalised bounded title equality',
|
|
208
|
-
row('favicon', 'identity', 'Favicon fingerprint', left.faviconHash, right.faviconHash, 'Exact SHA-256 comparison',
|
|
215
|
+
row('website', 'web', 'Website activity', left.activityStatus, right.activityStatus, 'Bounded homepage observation', webContext('activityStatus')),
|
|
216
|
+
row('page-title', 'identity', 'Page title', left.pageTitle, right.pageTitle, 'Normalised bounded title equality', webContext('pageTitle')),
|
|
217
|
+
row('favicon', 'identity', 'Favicon fingerprint', left.faviconHash, right.faviconHash, 'Exact SHA-256 comparison', webContext('faviconHash')),
|
|
209
218
|
row('tracking', 'identity', 'Tracking identifiers', left.relationship.trackingIdentifiers, right.relationship.trackingIdentifiers, 'Normalised exact set comparison', http, ['Shared identifiers are an investigative lead, not proof of ownership.']),
|
|
210
|
-
row('password-field', 'identity', 'Password field', left.hasPasswordField, right.hasPasswordField, 'Bounded static form observation',
|
|
211
|
-
row('phishing-language', 'identity', 'Phishing-language indicator', left.phishingLanguageMatch, right.phishingLanguageMatch, 'Bounded explainable page-language signal',
|
|
212
|
-
row('official-assets', 'identity', 'Official asset reuse', profileContextsComparable ? left.reusesOfficialAssets : null, profileContextsComparable ? right.reusesOfficialAssets : null, 'Configured Brand Profile comparison', profileContext, profileLimitations),
|
|
219
|
+
row('password-field', 'identity', 'Password field', left.hasPasswordField, right.hasPasswordField, 'Bounded static form observation', webContext('hasPasswordField')),
|
|
220
|
+
row('phishing-language', 'identity', 'Phishing-language indicator', left.phishingLanguageMatch, right.phishingLanguageMatch, 'Bounded explainable page-language signal', webContext('phishingLanguageMatch'), ['A wording match is a review lead, not proof of malicious intent.']),
|
|
221
|
+
row('official-assets', 'identity', 'Official asset reuse', profileContextsComparable ? left.reusesOfficialAssets : null, profileContextsComparable ? right.reusesOfficialAssets : null, 'Configured Brand Profile comparison', webContext('reusesOfficialAssets', profileContext), profileLimitations),
|
|
213
222
|
row('technology', 'technology', 'Technology identifiers', left.comparisonEvidence?.technology.ids ?? [], right.comparisonEvidence?.technology.ids ?? [], 'Normalised exact set comparison of at most 12 curated identifiers', compactTechnology, ['An unmatched identifier is not evidence that a technology is absent. Shared technologies do not establish common ownership or control.']),
|
|
214
223
|
row('source-health', 'source', 'Recorded source coverage', sourceSummary(left), sourceSummary(right), 'Source-by-source compact state comparison', source, ['A source-state difference can reflect collection conditions rather than a domain change.']),
|
|
215
224
|
];
|
|
@@ -99,8 +99,8 @@ function relation(state, profile, profileSourceState, profileContextComparable,
|
|
|
99
99
|
? {
|
|
100
100
|
baselineRelation: state === 'authenticated_mail' ? 'aligned' : 'review',
|
|
101
101
|
baselineDetail: state === 'authenticated_mail'
|
|
102
|
-
? '
|
|
103
|
-
: '
|
|
102
|
+
? 'Published MX, SPF and DMARC records match the configured standard-mail baseline.'
|
|
103
|
+
: 'MX publication was observed with a mail-authentication policy gap relative to the configured baseline.',
|
|
104
104
|
}
|
|
105
105
|
: {
|
|
106
106
|
baselineRelation: 'review',
|
|
@@ -5,6 +5,11 @@ import { array, domain, enumeration, exact, iso, text } from "../evidence/artifa
|
|
|
5
5
|
import { CONTEXT_REVIEW_SCHEMA, CONTEXT_REVIEW_VERSION, MAX_CONTEXT_RECORDS } from "../contracts/context-review.mjs";
|
|
6
6
|
export { DOMAIN_HISTORY_INPUT_SCHEMA, DOMAIN_HISTORY_INPUT_VERSION } from "../contracts/context-review.mjs";
|
|
7
7
|
export const DOMAIN_CHANGE_FAMILIES = ['registration', 'dns', 'mail', 'certificate', 'web'];
|
|
8
|
+
export const RETIRED_DEPENDENCY_REVIEW_STEPS = Object.freeze([
|
|
9
|
+
'DNS aliases: review owned CNAME records and delegated nameservers for references to the retired hostname. Record the configuration source and a deliberate cleanup plan; a remaining reference alone does not establish takeover availability.',
|
|
10
|
+
'Recovery email: review account-recovery and administrator-contact dependencies on the retired mail domain. Confirm a replacement through the account owner before removing access; record a source label, not email addresses or recovery secrets.',
|
|
11
|
+
'Integration references: review retained application, sign-in, webhook and third-party service configuration for the retired hostname. Record the responsible service and change reference without credentials or complete URLs; retained configuration does not prove a reference is still active.',
|
|
12
|
+
]);
|
|
8
13
|
export const REGISTRATION_BOUNDARY_KINDS = ['registration_reported', 'deletion_reported', 'reregistration_reported', 'transfer_reported', 'review_boundary'];
|
|
9
14
|
export const MAX_REGISTRATION_BOUNDARIES = 40;
|
|
10
15
|
export function readDomainHistoryDeclarations(raw, version = 1) {
|
|
@@ -126,7 +131,8 @@ export function reviewDomainHistory(record, declarations, reviewedAt, declaratio
|
|
|
126
131
|
const certificateCount = observations.filter(row => row.label.startsWith('Retained certificate')).length;
|
|
127
132
|
return { schema: CONTEXT_REVIEW_SCHEMA, version: CONTEXT_REVIEW_VERSION, kind: 'domain_history', reviewedAt, title: 'Domain history and retired dependencies', state: orderedPairs < 1 || limitedPairs > 0 ? 'partial' : 'reviewed',
|
|
128
133
|
summary: `Retained snapshots: ${snapshots.length}; time-ordered pairs: ${orderedPairs}; limited pairs: ${limitedPairs}; certificate pins: ${certificateCount}; declared retired dependencies: ${declared.retiredDependencies.length}.${declarationVersion === 2 ? ` Analyst-declared registration boundaries: ${declared.registrationBoundaries.length}.` : ''}`, observations,
|
|
129
|
-
nextSteps: [...prompts, 'Review changed registration, DNS, mail and web evidence against declared maintenance windows.', 'Recheck owned references to retired dependencies before changing configuration; preserve evidence of legitimate transfers or rebrands.'
|
|
134
|
+
nextSteps: [...prompts, 'Review changed registration, DNS, mail and web evidence against declared maintenance windows.', 'Recheck owned references to retired dependencies before changing configuration; preserve evidence of legitimate transfers or rebrands.',
|
|
135
|
+
...(declared.retiredDependencies.length ? RETIRED_DEPENDENCY_REVIEW_STEPS : [])],
|
|
130
136
|
limitations: ['This review uses retained Case evidence, not fresh collection. Missing or incompatible fields are not compared.', 'Certificate pins retain their own source and completeness; they are not equivalent to live TLS observations.', 'Changes and retired dependencies do not establish ownership transfer, malicious repurposing or takeover availability.',
|
|
131
137
|
...(declarationVersion === 2 ? ['Registration boundaries are analyst declarations linked to retained records, not independently verified deletion, re-registration or ownership events. Expiry and registrar changes do not establish those events.'] : [])] };
|
|
132
138
|
}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { normalizeExplicitIsoTimestamp } from "../evidence/observation.mjs";
|
|
2
2
|
import { sha256IdentityHex } from "../evidence/record-identity.mjs";
|
|
3
3
|
import { ordinaryWorkspaceRecord, assertWorkspaceInputGraph } from "./hostile-input.mjs";
|
|
4
|
-
import { WATCH_PRIORITIES, normalizeCandidateObservation, } from "./brand-candidate-workflow.mjs";
|
|
4
|
+
import { MAX_CANDIDATE_OBSERVATIONS, WATCH_PRIORITIES, normalizeCandidateObservation, } from "./brand-candidate-workflow.mjs";
|
|
5
5
|
import { MAX_BRAND_KEYWORD_CAMPAIGNS, MAX_BRAND_KEYWORD_CAMPAIGN_HISTORY, MAX_BRAND_KEYWORD_TERMS, MAX_BRAND_KEYWORD_TERM_LENGTH, MAX_PROFILE_NAME_LENGTH, } from "../contracts/workspace-portability.mjs";
|
|
6
6
|
export { MAX_BRAND_KEYWORD_CAMPAIGNS, MAX_BRAND_KEYWORD_CAMPAIGN_HISTORY, MAX_BRAND_KEYWORD_TERMS, MAX_BRAND_KEYWORD_TERM_LENGTH, } from "../contracts/workspace-portability.mjs";
|
|
7
7
|
const CONTROL = /[\u0000-\u001f\u007f-\u009f\u202a-\u202e\u2066-\u2069]/u;
|
|
8
8
|
const ID = /^[A-Za-z0-9_-]{1,64}$/u;
|
|
9
|
+
/** Transient comparison identity, checked again against the authoritative write snapshot. */
|
|
10
|
+
export function keywordCampaignCorpusRevision(profile) {
|
|
11
|
+
if (profile.candidateObservations.length > MAX_CANDIDATE_OBSERVATIONS)
|
|
12
|
+
throw new RangeError('The retained candidate corpus exceeds its supported bound; no partial comparison was prepared.');
|
|
13
|
+
return sha256IdentityHex(new TextEncoder().encode(JSON.stringify([
|
|
14
|
+
profile.id, profile.name, profile.updatedAt, profile.candidateObservations,
|
|
15
|
+
profile.candidateExceptions, profile.officialDomains, profile.approvedPartnerDomains,
|
|
16
|
+
profile.allowlistedDomains,
|
|
17
|
+
])));
|
|
18
|
+
}
|
|
9
19
|
/** Shared feed and campaign literals are plain substrings, never regular expressions. */
|
|
10
20
|
export function normalizeBrandKeywordTerms(value) {
|
|
11
21
|
if (!Array.isArray(value) || value.length > MAX_BRAND_KEYWORD_TERMS)
|
|
@@ -35,6 +35,14 @@ const SOURCE_STATES = new Set([
|
|
|
35
35
|
]);
|
|
36
36
|
const TRUST_STATES = new Set(['official', 'partner', 'allowlisted']);
|
|
37
37
|
const COMPARISON_STATES = new Set(['error', 'not_found', 'partial', 'success', 'unavailable']);
|
|
38
|
+
/** Resume an admitted session without implicitly retrying any recorded row. */
|
|
39
|
+
export function planBulkSessionResume(session) {
|
|
40
|
+
const settled = new Set(session.results.map(row => row.domain));
|
|
41
|
+
return {
|
|
42
|
+
retainedRows: session.results.length,
|
|
43
|
+
pendingDomains: session.domains.filter(domain => !settled.has(domain)),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
38
46
|
function record(value) {
|
|
39
47
|
return ordinaryWorkspaceRecord(value, 'Bulk-session input');
|
|
40
48
|
}
|
package/third-party-notices.txt
CHANGED
|
@@ -7,7 +7,7 @@ The inventory is the exact transitive closure of the packaged runtime dependenci
|
|
|
7
7
|
Package count: 49
|
|
8
8
|
|
|
9
9
|
================================================================================
|
|
10
|
-
@napi-rs/canvas@1.0.
|
|
10
|
+
@napi-rs/canvas@1.0.11
|
|
11
11
|
Relationship: transitive production dependency
|
|
12
12
|
Declared licence: MIT
|
|
13
13
|
Licence source: LICENSE
|
|
@@ -34,77 +34,77 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
34
34
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
35
35
|
SOFTWARE.
|
|
36
36
|
================================================================================
|
|
37
|
-
@napi-rs/canvas-android-arm64@1.0.
|
|
37
|
+
@napi-rs/canvas-android-arm64@1.0.11
|
|
38
38
|
Relationship: transitive production dependency
|
|
39
39
|
Declared licence: MIT
|
|
40
40
|
Licence source: locked optional platform package metadata
|
|
41
41
|
|
|
42
42
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
43
43
|
================================================================================
|
|
44
|
-
@napi-rs/canvas-darwin-arm64@1.0.
|
|
44
|
+
@napi-rs/canvas-darwin-arm64@1.0.11
|
|
45
45
|
Relationship: transitive production dependency
|
|
46
46
|
Declared licence: MIT
|
|
47
47
|
Licence source: locked optional platform package metadata
|
|
48
48
|
|
|
49
49
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
50
50
|
================================================================================
|
|
51
|
-
@napi-rs/canvas-darwin-x64@1.0.
|
|
51
|
+
@napi-rs/canvas-darwin-x64@1.0.11
|
|
52
52
|
Relationship: transitive production dependency
|
|
53
53
|
Declared licence: MIT
|
|
54
54
|
Licence source: locked optional platform package metadata
|
|
55
55
|
|
|
56
56
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
57
57
|
================================================================================
|
|
58
|
-
@napi-rs/canvas-linux-arm-gnueabihf@1.0.
|
|
58
|
+
@napi-rs/canvas-linux-arm-gnueabihf@1.0.11
|
|
59
59
|
Relationship: transitive production dependency
|
|
60
60
|
Declared licence: MIT
|
|
61
61
|
Licence source: locked optional platform package metadata
|
|
62
62
|
|
|
63
63
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
64
64
|
================================================================================
|
|
65
|
-
@napi-rs/canvas-linux-arm64-gnu@1.0.
|
|
65
|
+
@napi-rs/canvas-linux-arm64-gnu@1.0.11
|
|
66
66
|
Relationship: transitive production dependency
|
|
67
67
|
Declared licence: MIT
|
|
68
68
|
Licence source: locked optional platform package metadata
|
|
69
69
|
|
|
70
70
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
71
71
|
================================================================================
|
|
72
|
-
@napi-rs/canvas-linux-arm64-musl@1.0.
|
|
72
|
+
@napi-rs/canvas-linux-arm64-musl@1.0.11
|
|
73
73
|
Relationship: transitive production dependency
|
|
74
74
|
Declared licence: MIT
|
|
75
75
|
Licence source: locked optional platform package metadata
|
|
76
76
|
|
|
77
77
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
78
78
|
================================================================================
|
|
79
|
-
@napi-rs/canvas-linux-riscv64-gnu@1.0.
|
|
79
|
+
@napi-rs/canvas-linux-riscv64-gnu@1.0.11
|
|
80
80
|
Relationship: transitive production dependency
|
|
81
81
|
Declared licence: MIT
|
|
82
82
|
Licence source: locked optional platform package metadata
|
|
83
83
|
|
|
84
84
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
85
85
|
================================================================================
|
|
86
|
-
@napi-rs/canvas-linux-x64-gnu@1.0.
|
|
86
|
+
@napi-rs/canvas-linux-x64-gnu@1.0.11
|
|
87
87
|
Relationship: transitive production dependency
|
|
88
88
|
Declared licence: MIT
|
|
89
89
|
Licence source: locked optional platform package metadata
|
|
90
90
|
|
|
91
91
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
92
92
|
================================================================================
|
|
93
|
-
@napi-rs/canvas-linux-x64-musl@1.0.
|
|
93
|
+
@napi-rs/canvas-linux-x64-musl@1.0.11
|
|
94
94
|
Relationship: transitive production dependency
|
|
95
95
|
Declared licence: MIT
|
|
96
96
|
Licence source: locked optional platform package metadata
|
|
97
97
|
|
|
98
98
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
99
99
|
================================================================================
|
|
100
|
-
@napi-rs/canvas-win32-arm64-msvc@1.0.
|
|
100
|
+
@napi-rs/canvas-win32-arm64-msvc@1.0.11
|
|
101
101
|
Relationship: transitive production dependency
|
|
102
102
|
Declared licence: MIT
|
|
103
103
|
Licence source: locked optional platform package metadata
|
|
104
104
|
|
|
105
105
|
This optional platform package declares MIT. It is installed separately on supported platforms, not included in this artefact. Its installed package provides its own licence notices.
|
|
106
106
|
================================================================================
|
|
107
|
-
@napi-rs/canvas-win32-x64-msvc@1.0.
|
|
107
|
+
@napi-rs/canvas-win32-x64-msvc@1.0.11
|
|
108
108
|
Relationship: transitive production dependency
|
|
109
109
|
Declared licence: MIT
|
|
110
110
|
Licence source: locked optional platform package metadata
|
|
@@ -138,7 +138,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
138
138
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
139
139
|
SOFTWARE.
|
|
140
140
|
================================================================================
|
|
141
|
-
@peculiar/asn1-asym-key@2.
|
|
141
|
+
@peculiar/asn1-asym-key@2.11.0
|
|
142
142
|
Relationship: transitive production dependency
|
|
143
143
|
Declared licence: MIT
|
|
144
144
|
Licence source: LICENSE
|
|
@@ -165,7 +165,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
165
165
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
166
166
|
SOFTWARE.
|
|
167
167
|
================================================================================
|
|
168
|
-
@peculiar/asn1-cms@2.
|
|
168
|
+
@peculiar/asn1-cms@2.11.0
|
|
169
169
|
Relationship: transitive production dependency
|
|
170
170
|
Declared licence: MIT
|
|
171
171
|
Licence source: LICENSE
|
|
@@ -192,7 +192,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
192
192
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
193
193
|
SOFTWARE.
|
|
194
194
|
================================================================================
|
|
195
|
-
@peculiar/asn1-csr@2.
|
|
195
|
+
@peculiar/asn1-csr@2.11.0
|
|
196
196
|
Relationship: transitive production dependency
|
|
197
197
|
Declared licence: MIT
|
|
198
198
|
Licence source: LICENSE
|
|
@@ -219,7 +219,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
219
219
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
220
220
|
SOFTWARE.
|
|
221
221
|
================================================================================
|
|
222
|
-
@peculiar/asn1-ecc@2.
|
|
222
|
+
@peculiar/asn1-ecc@2.11.0
|
|
223
223
|
Relationship: transitive production dependency
|
|
224
224
|
Declared licence: MIT
|
|
225
225
|
Licence source: LICENSE
|
|
@@ -246,7 +246,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
246
246
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
247
247
|
SOFTWARE.
|
|
248
248
|
================================================================================
|
|
249
|
-
@peculiar/asn1-pfx@2.
|
|
249
|
+
@peculiar/asn1-pfx@2.11.0
|
|
250
250
|
Relationship: transitive production dependency
|
|
251
251
|
Declared licence: MIT
|
|
252
252
|
Licence source: LICENSE
|
|
@@ -273,7 +273,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
273
273
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
274
274
|
SOFTWARE.
|
|
275
275
|
================================================================================
|
|
276
|
-
@peculiar/asn1-pkcs8@2.
|
|
276
|
+
@peculiar/asn1-pkcs8@2.11.0
|
|
277
277
|
Relationship: transitive production dependency
|
|
278
278
|
Declared licence: MIT
|
|
279
279
|
Licence source: LICENSE
|
|
@@ -300,7 +300,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
300
300
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
301
301
|
SOFTWARE.
|
|
302
302
|
================================================================================
|
|
303
|
-
@peculiar/asn1-pkcs9@2.
|
|
303
|
+
@peculiar/asn1-pkcs9@2.11.0
|
|
304
304
|
Relationship: transitive production dependency
|
|
305
305
|
Declared licence: MIT
|
|
306
306
|
Licence source: LICENSE
|
|
@@ -327,7 +327,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
327
327
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
328
328
|
SOFTWARE.
|
|
329
329
|
================================================================================
|
|
330
|
-
@peculiar/asn1-rsa@2.
|
|
330
|
+
@peculiar/asn1-rsa@2.11.0
|
|
331
331
|
Relationship: transitive production dependency
|
|
332
332
|
Declared licence: MIT
|
|
333
333
|
Licence source: LICENSE
|
|
@@ -354,7 +354,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
354
354
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
355
355
|
SOFTWARE.
|
|
356
356
|
================================================================================
|
|
357
|
-
@peculiar/asn1-schema@2.
|
|
357
|
+
@peculiar/asn1-schema@2.11.0
|
|
358
358
|
Relationship: transitive production dependency
|
|
359
359
|
Declared licence: MIT
|
|
360
360
|
Licence source: LICENSE
|
|
@@ -381,7 +381,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
381
381
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
382
382
|
SOFTWARE.
|
|
383
383
|
================================================================================
|
|
384
|
-
@peculiar/asn1-x509@2.
|
|
384
|
+
@peculiar/asn1-x509@2.11.0
|
|
385
385
|
Relationship: transitive production dependency
|
|
386
386
|
Declared licence: MIT
|
|
387
387
|
Licence source: LICENSE
|
|
@@ -408,7 +408,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
408
408
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
409
409
|
SOFTWARE.
|
|
410
410
|
================================================================================
|
|
411
|
-
@peculiar/asn1-x509-attr@2.
|
|
411
|
+
@peculiar/asn1-x509-attr@2.11.0
|
|
412
412
|
Relationship: transitive production dependency
|
|
413
413
|
Declared licence: MIT
|
|
414
414
|
Licence source: LICENSE
|
|
@@ -435,7 +435,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
435
435
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
436
436
|
SOFTWARE.
|
|
437
437
|
================================================================================
|
|
438
|
-
@peculiar/asn1-x509-post-quantum@2.
|
|
438
|
+
@peculiar/asn1-x509-post-quantum@2.11.0
|
|
439
439
|
Relationship: transitive production dependency
|
|
440
440
|
Declared licence: MIT
|
|
441
441
|
Licence source: LICENSE
|
|
@@ -489,7 +489,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
489
489
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
490
490
|
SOFTWARE.
|
|
491
491
|
================================================================================
|
|
492
|
-
@peculiar/x509@2.
|
|
492
|
+
@peculiar/x509@2.2.0
|
|
493
493
|
Relationship: direct production dependency
|
|
494
494
|
Declared licence: MIT
|
|
495
495
|
Licence source: LICENSE
|
|
@@ -516,7 +516,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
516
516
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
517
517
|
SOFTWARE.
|
|
518
518
|
================================================================================
|
|
519
|
-
asn1js@3.0
|
|
519
|
+
asn1js@3.1.0
|
|
520
520
|
Relationship: transitive production dependency
|
|
521
521
|
Declared licence: BSD-3-Clause
|
|
522
522
|
Licence source: LICENSE
|
|
@@ -909,7 +909,7 @@ Apache License
|
|
|
909
909
|
|
|
910
910
|
END OF TERMS AND CONDITIONS
|
|
911
911
|
================================================================================
|
|
912
|
-
postal-mime@4.0.
|
|
912
|
+
postal-mime@4.0.7
|
|
913
913
|
Relationship: direct production dependency
|
|
914
914
|
Declared licence: MIT-0
|
|
915
915
|
Licence source: LICENSE.txt
|
|
@@ -1148,7 +1148,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
1148
1148
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
1149
1149
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1150
1150
|
================================================================================
|
|
1151
|
-
tldts@7.4.
|
|
1151
|
+
tldts@7.4.18
|
|
1152
1152
|
Relationship: direct production dependency
|
|
1153
1153
|
Declared licence: MIT
|
|
1154
1154
|
Licence source: LICENSE
|
|
@@ -1167,7 +1167,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
1167
1167
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
1168
1168
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1169
1169
|
================================================================================
|
|
1170
|
-
tldts-core@7.4.
|
|
1170
|
+
tldts-core@7.4.18
|
|
1171
1171
|
Relationship: transitive production dependency
|
|
1172
1172
|
Declared licence: MIT
|
|
1173
1173
|
Licence source: LICENSE
|
|
@@ -1249,7 +1249,7 @@ MIT License
|
|
|
1249
1249
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1250
1250
|
SOFTWARE
|
|
1251
1251
|
================================================================================
|
|
1252
|
-
undici@8.
|
|
1252
|
+
undici@8.12.2
|
|
1253
1253
|
Relationship: direct production dependency
|
|
1254
1254
|
Declared licence: MIT
|
|
1255
1255
|
Licence source: LICENSE
|