agentseal 0.5.1 → 0.6.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/README.md +1 -1
- package/dist/agentseal.js +3920 -97
- package/dist/index.cjs +2577 -1165
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +322 -18
- package/dist/index.d.ts +322 -18
- package/dist/index.js +2548 -1158
- package/dist/index.js.map +1 -1
- package/package.json +7 -2
package/dist/index.d.cts
CHANGED
|
@@ -405,7 +405,12 @@ declare function stripBidiControls(text: string): string;
|
|
|
405
405
|
declare function stripHtmlComments(text: string): string;
|
|
406
406
|
/** Check if text contains any invisible/obfuscation characters. */
|
|
407
407
|
declare function hasInvisibleChars(text: string): boolean;
|
|
408
|
-
/**
|
|
408
|
+
/**
|
|
409
|
+
* Apply NFKC unicode normalization then TR39 confusable mapping.
|
|
410
|
+
* NFKC handles compatibility decompositions (fullwidth, ligatures).
|
|
411
|
+
* The confusable map catches cross-script homoglyphs that NFKC misses
|
|
412
|
+
* (Cyrillic, Greek, Cherokee, etc.).
|
|
413
|
+
*/
|
|
409
414
|
declare function normalizeUnicode(text: string): string;
|
|
410
415
|
/**
|
|
411
416
|
* Find and decode inline base64 strings.
|
|
@@ -426,19 +431,16 @@ declare function unescapeSequences(text: string): string;
|
|
|
426
431
|
*/
|
|
427
432
|
declare function expandStringConcat(text: string): string;
|
|
428
433
|
/**
|
|
429
|
-
*
|
|
434
|
+
* Decode HTML character references (numeric, hex, and named).
|
|
435
|
+
* Handles c (decimal), c (hex), and & (named) forms.
|
|
436
|
+
*/
|
|
437
|
+
declare function decodeHtmlEntities(text: string): string;
|
|
438
|
+
/**
|
|
439
|
+
* Apply all deobfuscation transforms to text (2-pass pipeline).
|
|
430
440
|
*
|
|
431
|
-
*
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
* 2. stripTagChars
|
|
435
|
-
* 3. stripVariationSelectors
|
|
436
|
-
* 4. stripBidiControls
|
|
437
|
-
* 5. stripHtmlComments
|
|
438
|
-
* 6. normalizeUnicode (NFKC)
|
|
439
|
-
* 7. decodeBase64Blocks
|
|
440
|
-
* 8. unescapeSequences
|
|
441
|
-
* 9. expandStringConcat
|
|
441
|
+
* Two passes catch nested obfuscation where the first pass reveals
|
|
442
|
+
* content that a second pass can further decode (e.g. base64 hidden
|
|
443
|
+
* inside zero-width splits, or escape sequences inside HTML entities).
|
|
442
444
|
*/
|
|
443
445
|
declare function deobfuscate(text: string): string;
|
|
444
446
|
|
|
@@ -486,6 +488,9 @@ interface MCPServerResult {
|
|
|
486
488
|
source_file: string;
|
|
487
489
|
verdict: GuardVerdict;
|
|
488
490
|
findings: MCPFinding[];
|
|
491
|
+
registry_score?: number;
|
|
492
|
+
registry_level?: string;
|
|
493
|
+
registry_findings_count?: number;
|
|
489
494
|
}
|
|
490
495
|
/** Return the highest-severity finding from an MCPServerResult, or undefined. */
|
|
491
496
|
declare function topMCPFinding(result: MCPServerResult): MCPFinding | undefined;
|
|
@@ -530,6 +535,47 @@ interface BaselineChangeResult {
|
|
|
530
535
|
change_type: string;
|
|
531
536
|
detail: string;
|
|
532
537
|
}
|
|
538
|
+
interface UnlistedFinding {
|
|
539
|
+
code: string;
|
|
540
|
+
title: string;
|
|
541
|
+
description: string;
|
|
542
|
+
severity: string;
|
|
543
|
+
item_name: string;
|
|
544
|
+
item_type: string;
|
|
545
|
+
}
|
|
546
|
+
declare function unlistedFindingToDict(f: UnlistedFinding): Record<string, any>;
|
|
547
|
+
interface CustomFinding {
|
|
548
|
+
code: string;
|
|
549
|
+
title: string;
|
|
550
|
+
severity: string;
|
|
551
|
+
verdict: string;
|
|
552
|
+
remediation: string;
|
|
553
|
+
rule_file: string;
|
|
554
|
+
entity_type: string;
|
|
555
|
+
entity_name: string;
|
|
556
|
+
}
|
|
557
|
+
declare function customFindingFromDict(d: Record<string, any>): CustomFinding;
|
|
558
|
+
declare function customFindingToDict(f: CustomFinding): Record<string, any>;
|
|
559
|
+
interface DeltaEntry {
|
|
560
|
+
change_type: string;
|
|
561
|
+
entity_type: string;
|
|
562
|
+
entity_name: string;
|
|
563
|
+
code?: string;
|
|
564
|
+
title?: string;
|
|
565
|
+
old_verdict?: string;
|
|
566
|
+
new_verdict?: string;
|
|
567
|
+
severity?: string;
|
|
568
|
+
}
|
|
569
|
+
declare function deltaEntryToDict(e: DeltaEntry): Record<string, any>;
|
|
570
|
+
declare class DeltaResult {
|
|
571
|
+
previous_timestamp: string;
|
|
572
|
+
entries: DeltaEntry[];
|
|
573
|
+
constructor(previous_timestamp: string, entries?: DeltaEntry[]);
|
|
574
|
+
get total_new(): number;
|
|
575
|
+
get total_resolved(): number;
|
|
576
|
+
get total_changed(): number;
|
|
577
|
+
toDict(): Record<string, any>;
|
|
578
|
+
}
|
|
533
579
|
interface GuardReport {
|
|
534
580
|
timestamp: string;
|
|
535
581
|
duration_seconds: number;
|
|
@@ -540,6 +586,9 @@ interface GuardReport {
|
|
|
540
586
|
toxic_flows: ToxicFlowResult[];
|
|
541
587
|
baseline_changes: BaselineChangeResult[];
|
|
542
588
|
llm_tokens_used: number;
|
|
589
|
+
unlisted_findings?: UnlistedFinding[];
|
|
590
|
+
custom_findings?: CustomFinding[];
|
|
591
|
+
config_path?: string;
|
|
543
592
|
}
|
|
544
593
|
declare function totalDangers(report: GuardReport): number;
|
|
545
594
|
declare function totalWarnings(report: GuardReport): number;
|
|
@@ -547,6 +596,8 @@ declare function totalSafe(report: GuardReport): number;
|
|
|
547
596
|
declare function hasCritical(report: GuardReport): boolean;
|
|
548
597
|
/** Collect all remediation actions, sorted by severity. */
|
|
549
598
|
declare function allActions(report: GuardReport): string[];
|
|
599
|
+
/** Build a GuardReport from a plain dict (e.g. parsed JSON). */
|
|
600
|
+
declare function guardReportFromDict(d: Record<string, any>): GuardReport;
|
|
550
601
|
|
|
551
602
|
/**
|
|
552
603
|
* Skill threat detection — layered analysis for skill/rules files.
|
|
@@ -707,11 +758,81 @@ declare class MCPConfigChecker {
|
|
|
707
758
|
private _checkHighEntropySecrets;
|
|
708
759
|
}
|
|
709
760
|
|
|
761
|
+
/**
|
|
762
|
+
* .agentseal.yaml project config loader, resolution, and filtering.
|
|
763
|
+
*
|
|
764
|
+
* Port of Python agentseal/project_config.py — same structure, TypeScript implementation.
|
|
765
|
+
*/
|
|
766
|
+
|
|
767
|
+
interface IgnoreFindingEntry {
|
|
768
|
+
id: string;
|
|
769
|
+
reason?: string;
|
|
770
|
+
}
|
|
771
|
+
interface ProjectConfig {
|
|
772
|
+
fail_on: string;
|
|
773
|
+
allowed_agents: string[];
|
|
774
|
+
allowed_mcp_servers: string[];
|
|
775
|
+
ignore_paths: string[];
|
|
776
|
+
ignore_findings: IgnoreFindingEntry[];
|
|
777
|
+
rules_paths: string[];
|
|
778
|
+
config_path: string;
|
|
779
|
+
}
|
|
780
|
+
/**
|
|
781
|
+
* Parse a .agentseal.yaml file and return a validated ProjectConfig.
|
|
782
|
+
* Throws on invalid YAML, invalid fail_on, or non-dict root.
|
|
783
|
+
*/
|
|
784
|
+
declare function loadProjectConfig(configPath: string): ProjectConfig;
|
|
785
|
+
/**
|
|
786
|
+
* Resolve project config by explicit path or by walking up from searchDir.
|
|
787
|
+
* Returns null if no config found.
|
|
788
|
+
*/
|
|
789
|
+
declare function resolveProjectConfig(opts?: {
|
|
790
|
+
configPath?: string;
|
|
791
|
+
searchDir?: string;
|
|
792
|
+
}): ProjectConfig | null;
|
|
793
|
+
/**
|
|
794
|
+
* Check if a file path should be ignored based on config.ignore_paths.
|
|
795
|
+
* Splits path on "/" and checks if ANY segment exactly matches an ignore entry.
|
|
796
|
+
*/
|
|
797
|
+
declare function shouldIgnorePath(config: ProjectConfig, path: string): boolean;
|
|
798
|
+
/**
|
|
799
|
+
* Check if a finding should be ignored based on config.ignore_findings.
|
|
800
|
+
* Entry id can be bare code ("SKILL-001") or code:path ("SKILL-001:./file.md").
|
|
801
|
+
*/
|
|
802
|
+
declare function shouldIgnoreFinding(config: ProjectConfig, code: string, path?: string): boolean;
|
|
803
|
+
/**
|
|
804
|
+
* Determine if the scan should fail based on fail_on level and verdicts.
|
|
805
|
+
*/
|
|
806
|
+
declare function shouldFail(failOn: string, verdicts: {
|
|
807
|
+
hasDanger: boolean;
|
|
808
|
+
hasWarning: boolean;
|
|
809
|
+
hasSafe?: boolean;
|
|
810
|
+
}): boolean;
|
|
811
|
+
/**
|
|
812
|
+
* Generate GUARD-001 (unlisted agent) and GUARD-002 (unlisted MCP server) findings.
|
|
813
|
+
* Only checks if the respective allowlist is non-empty.
|
|
814
|
+
*/
|
|
815
|
+
declare function generateUnlistedFindings(config: ProjectConfig, agents: AgentConfigResult[], mcpServers: Record<string, any>[]): UnlistedFinding[];
|
|
816
|
+
/**
|
|
817
|
+
* Generate a .agentseal.yaml config string from discovered agents and MCP servers.
|
|
818
|
+
*/
|
|
819
|
+
declare function generateConfigYaml(agents: AgentConfigResult[], mcpServers: Record<string, any>[]): string;
|
|
820
|
+
/**
|
|
821
|
+
* Initialize a .agentseal.yaml config in the target directory.
|
|
822
|
+
* Returns true if written, false if file exists and not force.
|
|
823
|
+
*/
|
|
824
|
+
declare function runGuardInit(opts?: {
|
|
825
|
+
targetDir?: string;
|
|
826
|
+
force?: boolean;
|
|
827
|
+
interactive?: boolean;
|
|
828
|
+
}): boolean;
|
|
829
|
+
|
|
710
830
|
/**
|
|
711
831
|
* Guard — one-command machine security scan.
|
|
712
832
|
*
|
|
713
|
-
* Chains machine discovery, skill scanning, blocklist,
|
|
714
|
-
*
|
|
833
|
+
* Chains machine discovery, skill scanning, blocklist, deobfuscation,
|
|
834
|
+
* project config, custom rules, registry enrichment, history/delta,
|
|
835
|
+
* and unlisted findings into a single zero-config experience.
|
|
715
836
|
*
|
|
716
837
|
* Port of Python agentseal/guard.py + agentseal/skill_scanner.py.
|
|
717
838
|
*/
|
|
@@ -728,6 +849,18 @@ interface GuardOptions {
|
|
|
728
849
|
embedFn?: (texts: string[]) => Promise<number[][]>;
|
|
729
850
|
/** Scan a specific directory instead of the whole machine. */
|
|
730
851
|
scanPath?: string;
|
|
852
|
+
/** Pre-loaded project config. If not provided, resolved from scanPath. */
|
|
853
|
+
config?: ProjectConfig;
|
|
854
|
+
/** Skip registry enrichment. Default: false */
|
|
855
|
+
noRegistry?: boolean;
|
|
856
|
+
/** Skip history save and delta computation. Default: false */
|
|
857
|
+
noDiff?: boolean;
|
|
858
|
+
/** Paths to custom rule files/directories. */
|
|
859
|
+
rulesPaths?: string[];
|
|
860
|
+
/** Load a previously saved JSON report instead of scanning. */
|
|
861
|
+
fromJson?: string;
|
|
862
|
+
/** Fail threshold: "danger" (default), "warning", or "safe". */
|
|
863
|
+
failOn?: string;
|
|
731
864
|
}
|
|
732
865
|
/** Extract a human-readable name from a skill file path. */
|
|
733
866
|
declare function extractSkillName(filePath: string): string;
|
|
@@ -736,10 +869,10 @@ declare function computeVerdict(findings: SkillFinding[]): GuardVerdict;
|
|
|
736
869
|
/** Scan a single skill file through all detection layers. */
|
|
737
870
|
declare function scanSkillFile(filePath: string, scanner: SkillScanner, blocklist: Blocklist): SkillResult;
|
|
738
871
|
declare class Guard {
|
|
739
|
-
private readonly
|
|
872
|
+
private readonly options;
|
|
740
873
|
constructor(options?: GuardOptions);
|
|
741
874
|
/** Execute full guard scan. Returns a GuardReport with all findings. */
|
|
742
|
-
run(): GuardReport
|
|
875
|
+
run(): Promise<GuardReport>;
|
|
743
876
|
}
|
|
744
877
|
|
|
745
878
|
/**
|
|
@@ -952,6 +1085,177 @@ declare class Notifier {
|
|
|
952
1085
|
private _notifyFallback;
|
|
953
1086
|
}
|
|
954
1087
|
|
|
1088
|
+
/**
|
|
1089
|
+
* Client for agentseal.org MCP trust score enrichment API.
|
|
1090
|
+
*
|
|
1091
|
+
* Enriches local MCP scan results with registry intelligence
|
|
1092
|
+
* (trust score, risk level, finding counts) via bulk lookup.
|
|
1093
|
+
*/
|
|
1094
|
+
|
|
1095
|
+
/** Convert a name to a URL-safe slug. */
|
|
1096
|
+
declare function slugify(name: string): string;
|
|
1097
|
+
/**
|
|
1098
|
+
* Extract a package name from a command string and slugify it.
|
|
1099
|
+
*
|
|
1100
|
+
* Recognises: npx, bunx, uvx, pip/pip3 install, docker run.
|
|
1101
|
+
* Strips @version suffixes. Returns null for bare binaries or
|
|
1102
|
+
* unparseable commands.
|
|
1103
|
+
*/
|
|
1104
|
+
declare function extractPackageSlug(command: string): string | null;
|
|
1105
|
+
/**
|
|
1106
|
+
* POST a list of slugs to the bulk-check endpoint.
|
|
1107
|
+
*
|
|
1108
|
+
* Returns the parsed JSON on success, or {} on any error (timeout,
|
|
1109
|
+
* network failure, non-ok status).
|
|
1110
|
+
*/
|
|
1111
|
+
declare function bulkCheck(slugs: string[], apiKey?: string): Promise<Record<string, any>>;
|
|
1112
|
+
/**
|
|
1113
|
+
* Enrich MCP scan results with registry intelligence (in-place).
|
|
1114
|
+
*
|
|
1115
|
+
* For each result, derives a name slug and a command slug, queries the
|
|
1116
|
+
* registry, then writes registry_score / registry_level /
|
|
1117
|
+
* registry_findings_count onto matching results.
|
|
1118
|
+
*
|
|
1119
|
+
* Results that already have registry_score set are skipped to prevent
|
|
1120
|
+
* double-enrichment.
|
|
1121
|
+
*/
|
|
1122
|
+
declare function enrichMcpResults(results: MCPServerResult[], apiKey?: string): Promise<void>;
|
|
1123
|
+
|
|
1124
|
+
/**
|
|
1125
|
+
* YAML community rule engine with glob matching.
|
|
1126
|
+
*
|
|
1127
|
+
* Port of Python agentseal/rules.py — same structure, TypeScript classes.
|
|
1128
|
+
*/
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Match a value against a glob pattern (case-insensitive).
|
|
1132
|
+
*
|
|
1133
|
+
* Supports `*` (any chars), `?` (single char), `[abc]` and `[!abc]` character classes.
|
|
1134
|
+
* All regex special characters are escaped except glob operators.
|
|
1135
|
+
*/
|
|
1136
|
+
declare function fnmatchCase(value: string, pattern: string): boolean;
|
|
1137
|
+
interface RuleTest {
|
|
1138
|
+
name: string;
|
|
1139
|
+
input: Record<string, string>;
|
|
1140
|
+
expect: string;
|
|
1141
|
+
}
|
|
1142
|
+
interface Rule {
|
|
1143
|
+
id: string;
|
|
1144
|
+
title: string;
|
|
1145
|
+
description: string;
|
|
1146
|
+
severity: string;
|
|
1147
|
+
verdict: string;
|
|
1148
|
+
remediation: string;
|
|
1149
|
+
match: Record<string, string | string[]>;
|
|
1150
|
+
tests: RuleTest[];
|
|
1151
|
+
source_file: string;
|
|
1152
|
+
}
|
|
1153
|
+
interface RuleTestResult {
|
|
1154
|
+
rule_id: string;
|
|
1155
|
+
test_name: string;
|
|
1156
|
+
passed: boolean;
|
|
1157
|
+
expected: string;
|
|
1158
|
+
actual: string;
|
|
1159
|
+
}
|
|
1160
|
+
declare class RuleEngine {
|
|
1161
|
+
private rules;
|
|
1162
|
+
constructor(rules: Rule[]);
|
|
1163
|
+
/**
|
|
1164
|
+
* Load rules from file paths and/or directory paths.
|
|
1165
|
+
*
|
|
1166
|
+
* - Files are loaded directly.
|
|
1167
|
+
* - Directories are globbed for *.yaml and *.yml files.
|
|
1168
|
+
* - Files without a top-level "rules" key are silently skipped.
|
|
1169
|
+
* - Validates required fields, severity, verdict, match.type.
|
|
1170
|
+
* - Throws on duplicate IDs across files.
|
|
1171
|
+
*/
|
|
1172
|
+
static fromPaths(paths: string[]): RuleEngine;
|
|
1173
|
+
/**
|
|
1174
|
+
* Check if a rule matches an entity's data.
|
|
1175
|
+
*
|
|
1176
|
+
* - AND logic across fields (all fields must match).
|
|
1177
|
+
* - OR logic within a field (any pattern in the array matches).
|
|
1178
|
+
* - The "type" field in match is skipped (used for routing only).
|
|
1179
|
+
*/
|
|
1180
|
+
private _matchEntity;
|
|
1181
|
+
/**
|
|
1182
|
+
* Evaluate MCP rules against a server result.
|
|
1183
|
+
*/
|
|
1184
|
+
evaluateMcp(server: MCPServerResult | Record<string, any>, rawConfig: Record<string, any>): CustomFinding[];
|
|
1185
|
+
/**
|
|
1186
|
+
* Evaluate skill rules against a skill result.
|
|
1187
|
+
*/
|
|
1188
|
+
evaluateSkill(skill: SkillResult | Record<string, any>, content: string): CustomFinding[];
|
|
1189
|
+
/**
|
|
1190
|
+
* Evaluate agent rules against an agent config result.
|
|
1191
|
+
*/
|
|
1192
|
+
evaluateAgent(agent: AgentConfigResult | Record<string, any>): CustomFinding[];
|
|
1193
|
+
/**
|
|
1194
|
+
* Run embedded tests for all rules.
|
|
1195
|
+
*/
|
|
1196
|
+
runTests(): RuleTestResult[];
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/**
|
|
1200
|
+
* SQLite history store with delta computation for guard scans.
|
|
1201
|
+
*
|
|
1202
|
+
* Uses better-sqlite3 (optional dependency) for persistence.
|
|
1203
|
+
* If better-sqlite3 is not installed, all history features degrade gracefully.
|
|
1204
|
+
*/
|
|
1205
|
+
|
|
1206
|
+
/**
|
|
1207
|
+
* Normalize a skill/file path for use as a stable key in delta comparison.
|
|
1208
|
+
*
|
|
1209
|
+
* - Replaces `\` with `/` (Windows compat)
|
|
1210
|
+
* - If path starts with HOME directory, replaces HOME prefix with `~/`
|
|
1211
|
+
* - Else if scanPath provided and path starts with it, makes it relative
|
|
1212
|
+
* - Else fallback: last 2 path segments (or last 1 if only 1)
|
|
1213
|
+
*/
|
|
1214
|
+
declare function normalizeSkillPath(skillPath: string, scanPath?: string): string;
|
|
1215
|
+
/**
|
|
1216
|
+
* SQLite-backed store for guard scan history. Enables delta computation
|
|
1217
|
+
* between consecutive scans.
|
|
1218
|
+
*
|
|
1219
|
+
* If better-sqlite3 is not available, all methods degrade gracefully
|
|
1220
|
+
* (save is a no-op, loadPrevious returns null, etc.).
|
|
1221
|
+
*/
|
|
1222
|
+
declare class HistoryStore {
|
|
1223
|
+
private db;
|
|
1224
|
+
private maxRows;
|
|
1225
|
+
private retentionDays;
|
|
1226
|
+
constructor(dbPath?: string, maxRows?: number, retentionDays?: number);
|
|
1227
|
+
/**
|
|
1228
|
+
* Save a guard report to the history store.
|
|
1229
|
+
*/
|
|
1230
|
+
save(report: GuardReport, scanPath?: string): void;
|
|
1231
|
+
/**
|
|
1232
|
+
* Load the previous report (second-most-recent) for a given scan path.
|
|
1233
|
+
* Returns null if fewer than 2 entries exist or on any error.
|
|
1234
|
+
*/
|
|
1235
|
+
loadPrevious(scanPath?: string): GuardReport | null;
|
|
1236
|
+
/**
|
|
1237
|
+
* Remove stale entries: older than retentionDays, or exceeding maxRows.
|
|
1238
|
+
*/
|
|
1239
|
+
prune(): void;
|
|
1240
|
+
/**
|
|
1241
|
+
* Return the total number of rows in the store. For test assertions.
|
|
1242
|
+
*/
|
|
1243
|
+
_count(): number;
|
|
1244
|
+
/**
|
|
1245
|
+
* Close the database connection.
|
|
1246
|
+
*/
|
|
1247
|
+
close(): void;
|
|
1248
|
+
}
|
|
1249
|
+
/**
|
|
1250
|
+
* Compute a delta between the current and previous guard reports.
|
|
1251
|
+
*
|
|
1252
|
+
* Tracks:
|
|
1253
|
+
* - Skills: new/resolved findings, changed verdicts, new/removed entities
|
|
1254
|
+
* - MCP servers: new/resolved findings, changed verdicts, new/removed entities
|
|
1255
|
+
* - Agents: new/removed entities (no findings on agents)
|
|
1256
|
+
*/
|
|
1257
|
+
declare function computeDelta(current: GuardReport, previous: GuardReport, scanPath?: string): DeltaResult;
|
|
1258
|
+
|
|
955
1259
|
/**
|
|
956
1260
|
* Shield — continuous filesystem monitoring for AI agent security.
|
|
957
1261
|
*
|
|
@@ -1033,4 +1337,4 @@ declare class Shield {
|
|
|
1033
1337
|
stop(): void;
|
|
1034
1338
|
}
|
|
1035
1339
|
|
|
1036
|
-
export { type AffectedProbe, type AgentConfigResult, AgentSealError, AgentValidator, type AttackChain, BACKUPS_DIR, BOUNDARY_CATEGORIES, BOUNDARY_WEIGHT, type BaselineChange, type BaselineChangeResult, type BaselineEntry, BaselineStore, Blocklist, COMMON_WORDS, CONSISTENCY_WEIGHT, type ChainStep, type ChatFn, type CompareResult, DANGER_CONCEPTS, DATA_EXTRACTION_WEIGHT, DebouncedHandler, type DefenseProfile, type DiscoveryResult, EXTRACTION_WEIGHT, type EmbedFn, type FixResult, Guard, type GuardOptions, type GuardProgressFn, type GuardReport, GuardVerdict, INJECTION_WEIGHT, KNOWN_SERVER_LABELS, LABEL_DESTRUCTIVE, LABEL_PRIVATE, LABEL_PUBLIC_SINK, LABEL_UNTRUSTED, LLMJudge, type LLMJudgeFinding, type LLMJudgeOptions, type LLMJudgeResult, MAX_CONTENT_BYTES, MCPConfigChecker, type MCPFinding, type MCPRuntimeFinding, type MCPRuntimeResult, type MCPServerResult, Notifier, PROFILES, PROJECT_MCP_CONFIGS, PROJECT_SKILL_DIRS, PROJECT_SKILL_FILES, type Probe, type ProbeResult, ProbeTimeoutError, type ProfileConfig, type ProgressFn, ProviderError, QUARANTINE_DIR, type QuarantineEntry, REFUSAL_PHRASES, REPORTS_DIR, type RemediationItem, type RemediationReport, SEMANTIC_HIGH_THRESHOLD, SEMANTIC_MODERATE_THRESHOLD, SEVERITY_ORDER, SYSTEM_PROMPT, type ScanReport, type ScoreBreakdown, Severity, Shield, type ShieldCallback, type ShieldOptions, type SkillFinding, type SkillResult, SkillScanner, TRANSFORMS, type ToxicFlowResult, TrustLevel, ValidationError, type ValidatorOptions, Verdict, allActions, analyzeToxicFlows, applyProfile, base64Wrap, buildExtractionProbes, buildInjectionProbes, buildProbe, caseScramble, classifyPath, classifyServer, collectWatchPaths, compareReports, computeScores, computeSemanticSimilarity, computeVerdict, decodeBase64Blocks, deobfuscate, detectCanary, detectChains, detectExtraction, detectExtractionWithSemantic, detectProvider, expandStringConcat, extractSkillName, extractUniquePhrases, fingerprintDefense, fromAnthropic, fromEndpoint, fromLangChain, fromOllama, fromOpenAI, fromVercelAI, fuseVerdicts, generateCanary, generateMutations, generateRemediation, getFixableSkills, getWellKnownConfigs, hasCritical, hasInvisibleChars, isRefusal, leetspeak, listProfiles, listQuarantine, loadAllCustomProbes, loadCustomProbes, loadGuardReport, loadScanReport, normalizeUnicode, parseProbeFile, parseResponse, prefixPadding, quarantineSkill, resolveProfile, restoreSkill, reverseEmbed, rot13Wrap, saveReport, scanDirectory, scanMachine, scanSkillFile, sha256, shannonEntropy, stripBidiControls, stripHtmlComments, stripJsonComments, stripModelPrefix, stripTagChars, stripVariationSelectors, stripZeroWidth, topMCPFinding, topSkillFinding, totalDangers, totalSafe, totalWarnings, truncateContent, trustLevelFromScore, unescapeSequences, unicodeHomoglyphs, validateProbe, verdictFromFindings, verdictScore, zeroWidthInject };
|
|
1340
|
+
export { type AffectedProbe, type AgentConfigResult, AgentSealError, AgentValidator, type AttackChain, BACKUPS_DIR, BOUNDARY_CATEGORIES, BOUNDARY_WEIGHT, type BaselineChange, type BaselineChangeResult, type BaselineEntry, BaselineStore, Blocklist, COMMON_WORDS, CONSISTENCY_WEIGHT, type ChainStep, type ChatFn, type CompareResult, type CustomFinding, DANGER_CONCEPTS, DATA_EXTRACTION_WEIGHT, DebouncedHandler, type DefenseProfile, type DeltaEntry, DeltaResult, type DiscoveryResult, EXTRACTION_WEIGHT, type EmbedFn, type FixResult, Guard, type GuardOptions, type GuardProgressFn, type GuardReport, GuardVerdict, HistoryStore, INJECTION_WEIGHT, type IgnoreFindingEntry, KNOWN_SERVER_LABELS, LABEL_DESTRUCTIVE, LABEL_PRIVATE, LABEL_PUBLIC_SINK, LABEL_UNTRUSTED, LLMJudge, type LLMJudgeFinding, type LLMJudgeOptions, type LLMJudgeResult, MAX_CONTENT_BYTES, MCPConfigChecker, type MCPFinding, type MCPRuntimeFinding, type MCPRuntimeResult, type MCPServerResult, Notifier, PROFILES, PROJECT_MCP_CONFIGS, PROJECT_SKILL_DIRS, PROJECT_SKILL_FILES, type Probe, type ProbeResult, ProbeTimeoutError, type ProfileConfig, type ProgressFn, type ProjectConfig, ProviderError, QUARANTINE_DIR, type QuarantineEntry, REFUSAL_PHRASES, REPORTS_DIR, type RemediationItem, type RemediationReport, type Rule, RuleEngine, type RuleTest, type RuleTestResult, SEMANTIC_HIGH_THRESHOLD, SEMANTIC_MODERATE_THRESHOLD, SEVERITY_ORDER, SYSTEM_PROMPT, type ScanReport, type ScoreBreakdown, Severity, Shield, type ShieldCallback, type ShieldOptions, type SkillFinding, type SkillResult, SkillScanner, TRANSFORMS, type ToxicFlowResult, TrustLevel, type UnlistedFinding, ValidationError, type ValidatorOptions, Verdict, allActions, analyzeToxicFlows, applyProfile, base64Wrap, buildExtractionProbes, buildInjectionProbes, buildProbe, bulkCheck, caseScramble, classifyPath, classifyServer, collectWatchPaths, compareReports, computeDelta, computeScores, computeSemanticSimilarity, computeVerdict, customFindingFromDict, customFindingToDict, decodeBase64Blocks, decodeHtmlEntities, deltaEntryToDict, deobfuscate, detectCanary, detectChains, detectExtraction, detectExtractionWithSemantic, detectProvider, enrichMcpResults, expandStringConcat, extractPackageSlug, extractSkillName, extractUniquePhrases, fingerprintDefense, fnmatchCase, fromAnthropic, fromEndpoint, fromLangChain, fromOllama, fromOpenAI, fromVercelAI, fuseVerdicts, generateCanary, generateConfigYaml, generateMutations, generateRemediation, generateUnlistedFindings, getFixableSkills, getWellKnownConfigs, guardReportFromDict, hasCritical, hasInvisibleChars, isRefusal, leetspeak, listProfiles, listQuarantine, loadAllCustomProbes, loadCustomProbes, loadGuardReport, loadProjectConfig, loadScanReport, normalizeSkillPath, normalizeUnicode, parseProbeFile, parseResponse, prefixPadding, quarantineSkill, resolveProfile, resolveProjectConfig, restoreSkill, reverseEmbed, rot13Wrap, runGuardInit, saveReport, scanDirectory, scanMachine, scanSkillFile, sha256, shannonEntropy, shouldFail, shouldIgnoreFinding, shouldIgnorePath, slugify, stripBidiControls, stripHtmlComments, stripJsonComments, stripModelPrefix, stripTagChars, stripVariationSelectors, stripZeroWidth, topMCPFinding, topSkillFinding, totalDangers, totalSafe, totalWarnings, truncateContent, trustLevelFromScore, unescapeSequences, unicodeHomoglyphs, unlistedFindingToDict, validateProbe, verdictFromFindings, verdictScore, zeroWidthInject };
|