feat: adversarial agent for preventing leaking of info and more (#7948)
This commit is contained in:
@@ -44,6 +44,7 @@ use crate::providers::base::{PermissionRouting, Provider};
|
||||
use crate::providers::errors::ProviderError;
|
||||
use crate::recipe::{Author, Recipe, Response, Settings};
|
||||
use crate::scheduler_trait::SchedulerTrait;
|
||||
use crate::security::adversary_inspector::AdversaryInspector;
|
||||
use crate::security::security_inspector::SecurityInspector;
|
||||
use crate::session::extension_data::{EnabledExtensionsState, ExtensionState};
|
||||
use crate::session::{Session, SessionManager};
|
||||
@@ -263,6 +264,9 @@ impl Agent {
|
||||
// Add security inspector (highest priority - runs first)
|
||||
tool_inspection_manager.add_inspector(Box::new(SecurityInspector::new()));
|
||||
|
||||
// Add adversary inspector (LLM-based review, enabled by ~/.config/goose/adversary.md)
|
||||
tool_inspection_manager.add_inspector(Box::new(AdversaryInspector::new(provider.clone())));
|
||||
|
||||
// Add permission inspector (medium-high priority)
|
||||
tool_inspection_manager.add_inspector(Box::new(PermissionInspector::new(
|
||||
permission_manager,
|
||||
@@ -2288,6 +2292,10 @@ mod tests {
|
||||
inspector_names.contains(&"security"),
|
||||
"Tool inspection manager should contain security inspector"
|
||||
);
|
||||
assert!(
|
||||
inspector_names.contains(&"adversary"),
|
||||
"Tool inspection manager should contain adversary inspector"
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user