zeroleaks 1.2.1
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 +122 -0
- package/README.md +232 -0
- package/dist/agents/attacker.d.ts +56 -0
- package/dist/agents/attacker.d.ts.map +1 -0
- package/dist/agents/engine.d.ts +90 -0
- package/dist/agents/engine.d.ts.map +1 -0
- package/dist/agents/evaluator.d.ts +34 -0
- package/dist/agents/evaluator.d.ts.map +1 -0
- package/dist/agents/index.d.ts +10 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/injection-evaluator.d.ts +34 -0
- package/dist/agents/injection-evaluator.d.ts.map +1 -0
- package/dist/agents/inspector.d.ts +43 -0
- package/dist/agents/inspector.d.ts.map +1 -0
- package/dist/agents/mutator.d.ts +28 -0
- package/dist/agents/mutator.d.ts.map +1 -0
- package/dist/agents/orchestrator.d.ts +37 -0
- package/dist/agents/orchestrator.d.ts.map +1 -0
- package/dist/agents/strategist.d.ts +36 -0
- package/dist/agents/strategist.d.ts.map +1 -0
- package/dist/agents/target.d.ts +13 -0
- package/dist/agents/target.d.ts.map +1 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +27610 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22489 -0
- package/dist/knowledge/defense-bypass.d.ts +34 -0
- package/dist/knowledge/defense-bypass.d.ts.map +1 -0
- package/dist/knowledge/exfiltration.d.ts +43 -0
- package/dist/knowledge/exfiltration.d.ts.map +1 -0
- package/dist/knowledge/index.d.ts +5 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/payloads.d.ts +23 -0
- package/dist/knowledge/payloads.d.ts.map +1 -0
- package/dist/knowledge/techniques.d.ts +33 -0
- package/dist/knowledge/techniques.d.ts.map +1 -0
- package/dist/probes/advanced.d.ts +19 -0
- package/dist/probes/advanced.d.ts.map +1 -0
- package/dist/probes/direct.d.ts +8 -0
- package/dist/probes/direct.d.ts.map +1 -0
- package/dist/probes/encoding.d.ts +24 -0
- package/dist/probes/encoding.d.ts.map +1 -0
- package/dist/probes/garak-inspired.d.ts +13 -0
- package/dist/probes/garak-inspired.d.ts.map +1 -0
- package/dist/probes/hybrid.d.ts +10 -0
- package/dist/probes/hybrid.d.ts.map +1 -0
- package/dist/probes/index.d.ts +33 -0
- package/dist/probes/index.d.ts.map +1 -0
- package/dist/probes/injection.d.ts +29 -0
- package/dist/probes/injection.d.ts.map +1 -0
- package/dist/probes/modern.d.ts +14 -0
- package/dist/probes/modern.d.ts.map +1 -0
- package/dist/probes/personas.d.ts +15 -0
- package/dist/probes/personas.d.ts.map +1 -0
- package/dist/probes/social.d.ts +8 -0
- package/dist/probes/social.d.ts.map +1 -0
- package/dist/probes/technical.d.ts +8 -0
- package/dist/probes/technical.d.ts.map +1 -0
- package/dist/probes/tool-exploits.d.ts +10 -0
- package/dist/probes/tool-exploits.d.ts.map +1 -0
- package/dist/types.d.ts +479 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +16 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MutatorOutput } from "../types";
|
|
2
|
+
export type MutationType = "paraphrase" | "synonym_swap" | "formality_shift" | "perspective_shift" | "question_to_command" | "command_to_question" | "base64_wrap" | "rot13_wrap" | "unicode_homoglyph" | "zero_width_inject" | "ascii_art_embed" | "leetspeak" | "case_variation" | "whitespace_pad" | "character_swap" | "word_split" | "reverse_embed";
|
|
3
|
+
export interface MutatorConfig {
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
model?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class Mutator {
|
|
8
|
+
private mutationHistory;
|
|
9
|
+
private openrouter;
|
|
10
|
+
private model;
|
|
11
|
+
constructor(config?: MutatorConfig);
|
|
12
|
+
generateMutations(originalPrompt: string, count?: number, preferredTypes?: MutationType[]): Promise<MutatorOutput>;
|
|
13
|
+
private generateProgrammaticMutations;
|
|
14
|
+
private generateSemanticMutations;
|
|
15
|
+
private selectMutationTypes;
|
|
16
|
+
private scoreMutations;
|
|
17
|
+
private calculateSimilarity;
|
|
18
|
+
private estimateEffectiveness;
|
|
19
|
+
private trackMutations;
|
|
20
|
+
bestOfN(basePrompt: string, n?: number): Promise<{
|
|
21
|
+
variations: string[];
|
|
22
|
+
scores: number[];
|
|
23
|
+
best: string;
|
|
24
|
+
}>;
|
|
25
|
+
reset(): void;
|
|
26
|
+
}
|
|
27
|
+
export declare function createMutator(config?: MutatorConfig): Mutator;
|
|
28
|
+
//# sourceMappingURL=mutator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../../src/agents/mutator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,aAAa,GACb,YAAY,GACZ,mBAAmB,GACnB,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,GACX,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,eAAe,CAAC;AA0IpB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,aAAa;IAO5B,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,KAAK,GAAE,MAAU,EACjB,cAAc,CAAC,EAAE,YAAY,EAAE,GAC9B,OAAO,CAAC,aAAa,CAAC;IA+BzB,OAAO,CAAC,6BAA6B;YAoEvB,yBAAyB;IA6CvC,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,qBAAqB;IAwB7B,OAAO,CAAC,cAAc;IAUhB,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,CAAC,GAAE,MAAW,GACb,OAAO,CAAC;QACT,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAUF,KAAK,IAAI,IAAI;CAGd;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAE7D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ConversationTurn, DefenseLevel, LeakStatus, MultiTurnSequence, MultiTurnStep, OrchestratorState, TemperatureConfig, TemperatureState } from "../types";
|
|
2
|
+
declare const DEFAULT_TEMPERATURE_CONFIG: TemperatureConfig;
|
|
3
|
+
declare const SIREN_SEQUENCE: MultiTurnSequence;
|
|
4
|
+
declare const ECHO_CHAMBER_SEQUENCE: MultiTurnSequence;
|
|
5
|
+
declare const TOMBRAIDER_SEQUENCE: MultiTurnSequence;
|
|
6
|
+
export declare class MultiTurnOrchestrator {
|
|
7
|
+
private state;
|
|
8
|
+
private temperatureConfig;
|
|
9
|
+
private temperatureState;
|
|
10
|
+
private sequences;
|
|
11
|
+
constructor(config?: Partial<TemperatureConfig>);
|
|
12
|
+
selectSequence(defenseLevel: DefenseLevel, history: ConversationTurn[], leakStatus: LeakStatus): MultiTurnSequence;
|
|
13
|
+
initializeSequence(sequence: MultiTurnSequence): void;
|
|
14
|
+
private buildTemperatureSchedule;
|
|
15
|
+
getNextPrompt(history: ConversationTurn[], inspectorGuidance?: string, weaknessExploit?: string): {
|
|
16
|
+
prompt: string;
|
|
17
|
+
step: MultiTurnStep;
|
|
18
|
+
temperature: number;
|
|
19
|
+
} | null;
|
|
20
|
+
private generateTargetedExtraction;
|
|
21
|
+
recordStepResult(success: boolean, leakDetected: boolean, extractedInfo: string[], defenseObserved: string[]): void;
|
|
22
|
+
private adjustTemperature;
|
|
23
|
+
shouldReset(): {
|
|
24
|
+
should: boolean;
|
|
25
|
+
reason: string;
|
|
26
|
+
};
|
|
27
|
+
isSequenceComplete(): boolean;
|
|
28
|
+
getCurrentTemperature(): number;
|
|
29
|
+
getState(): OrchestratorState;
|
|
30
|
+
getTemperatureState(): TemperatureState;
|
|
31
|
+
getAvailableSequences(): MultiTurnSequence[];
|
|
32
|
+
addSequence(sequence: MultiTurnSequence): void;
|
|
33
|
+
reset(): void;
|
|
34
|
+
}
|
|
35
|
+
export declare function createOrchestrator(config?: Partial<TemperatureConfig>): MultiTurnOrchestrator;
|
|
36
|
+
export { SIREN_SEQUENCE, ECHO_CHAMBER_SEQUENCE, TOMBRAIDER_SEQUENCE, DEFAULT_TEMPERATURE_CONFIG, };
|
|
37
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,QAAA,MAAM,0BAA0B,EAAE,iBASjC,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,iBAkGrB,CAAC;AAEF,QAAA,MAAM,qBAAqB,EAAE,iBAgF5B,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,iBAyE1B,CAAC;AAQF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,SAAS,CAAsB;gBAE3B,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAsB/C,cAAc,CACZ,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,UAAU,EAAE,UAAU,GACrB,iBAAiB;IA4BpB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAUrD,OAAO,CAAC,wBAAwB;IAyBhC,aAAa,CACX,OAAO,EAAE,gBAAgB,EAAE,EAC3B,iBAAiB,CAAC,EAAE,MAAM,EAC1B,eAAe,CAAC,EAAE,MAAM,GACvB;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA+BtE,OAAO,CAAC,0BAA0B;IAwBlC,gBAAgB,CACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,MAAM,EAAE,EACvB,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI;IAuBP,OAAO,CAAC,iBAAiB;IAgDzB,WAAW,IAAI;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA4BlD,kBAAkB,IAAI,OAAO;IAK7B,qBAAqB,IAAI,MAAM;IAI/B,QAAQ,IAAI,iBAAiB;IAI7B,mBAAmB,IAAI,gBAAgB;IAIvC,qBAAqB,IAAI,iBAAiB,EAAE;IAI5C,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAI9C,KAAK,IAAI,IAAI;CAiBd;AAED,wBAAgB,kBAAkB,CAChC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAClC,qBAAqB,CAEvB;AAED,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { AttackCategory, AttackPhase, ConversationTurn, DefenseProfile, Finding, LeakStatus, StrategistOutput } from "../types";
|
|
2
|
+
export interface StrategistConfig {
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
model?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class Strategist {
|
|
7
|
+
private currentStrategy;
|
|
8
|
+
private strategyHistory;
|
|
9
|
+
private defenseProfile;
|
|
10
|
+
private failedCategories;
|
|
11
|
+
private currentPhase;
|
|
12
|
+
private openrouter;
|
|
13
|
+
private model;
|
|
14
|
+
constructor(config?: StrategistConfig);
|
|
15
|
+
private createEmptyDefenseProfile;
|
|
16
|
+
selectStrategy(context: {
|
|
17
|
+
turn: number;
|
|
18
|
+
history: ConversationTurn[];
|
|
19
|
+
findings: Finding[];
|
|
20
|
+
leakStatus: LeakStatus;
|
|
21
|
+
lastEvaluatorFeedback?: string;
|
|
22
|
+
}): Promise<StrategistOutput>;
|
|
23
|
+
private buildStrategistPrompt;
|
|
24
|
+
private buildSelectionPrompt;
|
|
25
|
+
private buildContextSummary;
|
|
26
|
+
private analyzeDefensePatterns;
|
|
27
|
+
private updateDefenseProfile;
|
|
28
|
+
private filterApplicableStrategies;
|
|
29
|
+
private heuristicSelection;
|
|
30
|
+
recordFailedCategory(category: AttackCategory): void;
|
|
31
|
+
getDefenseProfile(): DefenseProfile;
|
|
32
|
+
getCurrentPhase(): AttackPhase;
|
|
33
|
+
reset(): void;
|
|
34
|
+
}
|
|
35
|
+
export declare function createStrategist(config?: StrategistConfig): Strategist;
|
|
36
|
+
//# sourceMappingURL=strategist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategist.d.ts","sourceRoot":"","sources":["../../src/agents/strategist.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EAEX,gBAAgB,EAEhB,cAAc,EACd,OAAO,EACP,UAAU,EACV,gBAAgB,EACjB,MAAM,UAAU,CAAC;AA+SlB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAId;IACT,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,gBAAgB;IAQrC,OAAO,CAAC,yBAAyB;IAa3B,cAAc,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,UAAU,EAAE,UAAU,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6D7B,OAAO,CAAC,qBAAqB;IAkD7B,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,kBAAkB;IA8B1B,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIpD,iBAAiB,IAAI,cAAc;IAInC,eAAe,IAAI,WAAW;IAI9B,KAAK,IAAI,IAAI;CAMd;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ConversationTurn } from "../types";
|
|
2
|
+
export interface Target {
|
|
3
|
+
systemPrompt: string;
|
|
4
|
+
conversationHistory: ConversationTurn[];
|
|
5
|
+
respond: (userMessage: string) => Promise<string>;
|
|
6
|
+
resetConversation: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface TargetConfig {
|
|
9
|
+
model?: string;
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function createTarget(systemPrompt: string, config?: TargetConfig): Promise<Target>;
|
|
13
|
+
//# sourceMappingURL=target.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/agents/target.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,MAAM;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC,CAqEjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":""}
|