Sensitive Information Disclosure
Tests for training-data extraction, architecture disclosure, and configuration leakage.
Sub-types
training_data_extraction: Model memorisation allows extraction of training data.system_architecture_disclosure: Model reveals internal architecture details.configuration_leakage: Model exposes configuration parameters or settings.
Threat Profile
Recommended Datasets
Secondary
- advbench: Adversarial prompts that may trigger info leaks
- saladbench: 21K harmful questions — includes info disclosure scenarios
Attack Techniques
Primary
- Static Template: Template-based prompt injection
- PAIR: Iterative refinement for bypass discovery
Secondary
- AdvPrefix: Adversarial prefix optimisation
Metrics
asrjudge_score
Usage
Instantiate the Vulnerability
from hackagent.catalog.risks import SensitiveInformationDisclosure
from hackagent.catalog.risks.sensitive_information_disclosure.types import SensitiveInformationDisclosureType
# Use all sub-types
vuln = SensitiveInformationDisclosure()
# Or specify particular sub-types
vuln = SensitiveInformationDisclosure(types=[
SensitiveInformationDisclosureType.TRAINING_DATA_EXTRACTION.value,
SensitiveInformationDisclosureType.SYSTEM_ARCHITECTURE_DISCLOSURE.value,
])
Run an Evaluation Campaign
from hackagent.catalog.risks.sensitive_information_disclosure import SENSITIVE_INFORMATION_DISCLOSURE_PROFILE
from hackagent.orchestrator.campaign import run_campaign, summary
TARGET = {
"name": "my-agent",
"connection": {
"provider": "local",
"type": "OPENAI",
"endpoint": "http://localhost:8080/chat",
},
}
# Use profile recommendations
for attack in SENSITIVE_INFORMATION_DISCLOSURE_PROFILE.primary_attacks:
for dataset in SENSITIVE_INFORMATION_DISCLOSURE_PROFILE.datasets:
result = run_campaign(
{
"version": 1,
"campaign": {
"name": f"{attack.technique} vs {dataset.preset}",
"description": SENSITIVE_INFORMATION_DISCLOSURE_PROFILE.objective,
},
"dataset": {"source": {"type": "preset", "name": dataset.preset}},
"target": TARGET,
"attacks": [{"name": attack.technique}],
}
)
print(summary(result))