NVIDIA-მ ოფიციალურად გამოუშვა SkillSpector — უსაფრთხოების სკანერი, რომელიც სპეციალურად AI აგენტების უნარების შესამოწმებლად არის შექმნილი. ინსტრუმენტი მიზნად ისახავს მომხმარებლების დაცვას იმ საფრთხეებისგან, რომლებიც ხშირად უხილავია AI-სთან მუშაობისას.

თანამედროვე AI აგენტები, როგორიცაა Claude Code ან Codex CLI, ხშირად მუშაობენ მინიმალური შემოწმების პირობებში და აქვთ ფართო წვდომა სისტემურ რესურსებზე. კვლევის მიხედვით, აგენტების უნარების 26.1% შეიცავს სხვადასხვა სახის მოწყვლადობას, ხოლო 5.2% პირდაპირ მავნე განზრახვას ავლენს.

როგორ მუშაობს SkillSpector

Provider (SKILLSPECTOR_PROVIDER)Credential env varEndpointDefault model
openaiOPENAI_API_KEY (+ optional OPENAI_BASE_URL)api.openai.com (or any OpenAI-compatible URL)gpt-5.4
anthropicANTHROPIC_API_KEYapi.anthropic.comclaude-opus-4-6
nv_buildNVIDIA_INFERENCE_KEYbuild.nvidia.comdeepseek-ai/deepseek-v4-flash
IDPatternSeverityDescription
P1Instruction OverrideHIGHCommands to ignore safety constraints
P2Hidden InstructionsHIGHMalicious directives in comments/invisible text
P3Exfiltration CommandsHIGHInstructions to transmit context externally
P4Behavior ManipulationMEDIUMSubtle instructions altering agent decisions
P5Harmful ContentCRITICALInstructions that could cause physical harm
IDPatternSeverityDescription
E1External TransmissionMEDIUMSending data to external URLs
E2Env Variable HarvestingHIGHCollecting API keys and secrets
E3File System EnumerationMEDIUMScanning directories for sensitive files
E4Context LeakageHIGHTransmitting conversation context externally
IDPatternSeverityDescription
PE1Excessive PermissionsLOWRequesting access beyond stated functionality
PE2Sudo/Root ExecutionMEDIUMInvoking elevated system privileges
PE3Credential AccessHIGHReading SSH keys, tokens, passwords
IDPatternSeverityDescription
SC1Unpinned DependenciesLOWNo version constraints on packages
SC2External Script FetchingHIGHcurl | bash and remote code execution
SC3Obfuscated CodeHIGHBase64/hex encoded execution
SC4Known Vulnerable DependenciesHIGHDependencies with known CVEs (live OSV.dev lookup)
SC5Abandoned DependenciesMEDIUMUnmaintained packages without security updates
SC6TyposquattingHIGHPackage names similar to popular packages
IDPatternSeverityDescription
EA1Unrestricted Tool AccessHIGHUnfettered tool access without constraints
EA2Autonomous Decision MakingHIGHHigh-impact decisions without human-in-the-loop
EA3Scope CreepMEDIUMCapabilities extending beyond stated purpose
EA4Unbounded Resource AccessMEDIUMNo rate limits or quotas on resource consumption
IDPatternSeverityDescription
OH1Unvalidated Output InjectionHIGHModel output used without sanitization
OH2Cross-Context OutputMEDIUMOutput flows across trust boundaries without validation
OH3Unbounded OutputMEDIUMNo limits on output size or generation rate
IDPatternSeverityDescription
P6Direct LeakageHIGHInstructions that expose system prompts or internal rules
P7Indirect ExtractionMEDIUMExtraction via rephrasing, translation, or side-channels
P8Tool-Based ExfiltrationHIGHSystem prompts exfiltrated via file writes or network requests
IDPatternSeverityDescription
MP1Persistent Context InjectionHIGHContent designed to persist across interactions
MP2Context Window StuffingMEDIUMFiller content displacing safety constraints
MP3Memory ManipulationHIGHTampering with agent memory or stored state

ინსტრუმენტი იყენებს ორეტაპიან ანალიზს, რათა მაქსიმალურად ზუსტად განსაზღვროს უნარის უსაფრთხოება. პირველ ეტაპზე ხდება სტატიკური ანალიზი, რომელიც 16 კატეგორიაში 64 სხვადასხვა ტიპის მოწყვლადობას ეძებს.

IDPatternSeverityDescription
TM1Tool Parameter AbuseHIGHCrafted parameters for unintended behavior (shell=True, --force)
TM2Chaining AbuseHIGHTool chains that bypass individual safety checks
TM3Unsafe DefaultsMEDIUMOverly permissive defaults (disabled TLS, no auth)
IDPatternSeverityDescription
RA1Self-ModificationCRITICALModifying own code or configuration at runtime
RA2Session PersistenceHIGHUnauthorized persistence via cron jobs or startup scripts
IDPatternSeverityDescription
TR1Overly Broad TriggerMEDIUMTrigger patterns matching common words
TR2Shadow Command TriggerHIGHTriggers that shadow built-in commands or other skills
TR3Keyword Baiting TriggerMEDIUMGeneric triggers designed to maximize activation

სისტემა ამოწმებს ისეთ რისკებს, როგორიცაა:

IDPatternSeverityDescription
AST1exec() CallCRITICALDirect exec() enabling arbitrary code execution
AST2eval() CallHIGHDirect eval() evaluating arbitrary expressions
AST3Dynamic ImportHIGH__import__() loading arbitrary modules at runtime
AST4subprocess CallHIGHExternal command execution via subprocess
AST5os.system / exec-familyHIGHShell commands via os module
AST6compile() CallMEDIUMCode object creation from strings
AST7Dynamic getattr()MEDIUMArbitrary attribute access with non-literal names
AST8Dangerous Execution ChainCRITICALexec/eval combined with dynamic source (network, encoded data)
IDPatternSeverityDescription
TT1Direct Taint FlowHIGHData flows directly from a source to a sink without sanitization
TT2Variable-Mediated Taint FlowMEDIUMData flows from source to sink through intermediate variables
TT3Credential Exfiltration ChainCRITICALCredentials (env vars, secrets) flow to network output sinks
TT4File Read to Network ExfiltrationHIGHFile contents flow to network output sinks
TT5External Input to Code ExecutionCRITICALNetwork or user input flows to exec/eval/subprocess sinks
  • Prompt injection და მონაცემთა გაჟონვა
  • პრივილეგიების უკანონო ამაღლება
  • მიწოდების ჯაჭვის (supply chain) შეტევები
  • ხელსაწყოების არასწორი გამოყენება
IDPatternSeverityDescription
YR1Malware MatchCRITICALYARA rule match for known malware signatures
YR2Webshell MatchCRITICALYARA rule match for webshell patterns
YR3Cryptominer MatchHIGHYARA rule match for crypto mining indicators
YR4Hack Tool / Exploit MatchHIGHYARA rule match for hack tools or exploit code

მეორე ეტაპზე, მომხმარებელს შეუძლია ჩართოს LLM-ზე დაფუძნებული სემანტიკური ანალიზი, რომელიც მნიშვნელოვნად ამცირებს ცრუ დადებით შედეგებს და აუმჯობესებს სიზუსტეს 87%-მდე.

IDPatternSeverityDescription
LP1Underdeclared CapabilityHIGHCode uses capabilities not listed in declared permissions
LP2Wildcard PermissionMEDIUMPermission list contains wildcards (*, all, full, any)
LP3Missing Permission DeclarationMEDIUMNo permissions field but code has detectable capabilities
LP4Overdeclared PermissionLOWPermission declared but no corresponding code capability found
IDPatternSeverityDescription
TP1Hidden InstructionsHIGHHidden directives in metadata (HTML comments, zero-width chars, base64, data URIs)
TP2Unicode DeceptionHIGHHomoglyphs, RTL overrides, mixed-script identifiers in tool metadata
TP3Parameter Description InjectionMEDIUMInjection patterns in parameter definitions (overrides, system tokens, malicious defaults)
TP4Description-Behavior MismatchMEDIUMDeclared tool description does not match actual code behavior (LLM-powered)

SkillSpector მხარს უჭერს მრავალფეროვან ფორმატებს, მათ შორის Git რეპოზიტორებს, ZIP არქივებსა და ცალკეულ ფაილებს. შედეგების მიღება შესაძლებელია ტერმინალში, JSON ან SARIF ფორმატებში, რაც აადვილებს მის ინტეგრაციას დეველოპერულ პროცესებში.

რისკის შეფასება

ინსტრუმენტი ავტომატურად ანაწილებს რისკებს 0-დან 100-მდე სკალაზე. კრიტიკული ხარვეზები ქულებს 50-ით ზრდის, ხოლო მაღალი რისკის საკითხები — 25-ით. იმ შემთხვევაში, თუ უნარი შეიცავს შესრულებად სკრიპტებს, რისკის ფაქტორი 1.3-ჯერ იზრდება.

ScoreSeverityRecommendation
0-20LOWSAFE
21-50MEDIUMCAUTION
51-80HIGHDO NOT INSTALL
81-100CRITICALDO NOT INSTALL

გარდა ამისა, SkillSpector იყენებს OSV.dev-ის ბაზას, რათა რეალურ დროში შეამოწმოს დამოკიდებულებები ცნობილ CVE-ებზე. ეს პროცესი ავტომატურია და არ საჭიროებს API გასაღებს.

შეზღუდვები

VariableDescriptionRequired
SKILLSPECTOR_PROVIDERActive LLM provider: openai, anthropic, or nv_build. Each provider has its own bundled model_registry.yaml and default model (see the LLM Analysis table above). Defaults to nv_build.Optional
NVIDIA_INFERENCE_KEYCredential for the nv_build provider (build.nvidia.com).Required for LLM analysis when SKILLSPECTOR_PROVIDER=nv_build
OPENAI_API_KEYCredential for the OpenAI provider (SKILLSPECTOR_PROVIDER=openai). Also serves as the tier-2 fallback in the credential waterfall when the active provider returns no credentials.Required for LLM analysis when SKILLSPECTOR_PROVIDER=openai
OPENAI_BASE_URLOverride the OpenAI endpoint (e.g. point at Ollama).Optional
ANTHROPIC_API_KEYCredential for the Anthropic provider (SKILLSPECTOR_PROVIDER=anthropic).Required for LLM analysis when SKILLSPECTOR_PROVIDER=anthropic
SKILLSPECTOR_MODELOverride the active provider's default model. See the LLM Analysis table for each provider's default.Optional
SKILLSPECTOR_MODEL_REGISTRYOverride the bundled per-provider YAML registry (src/skillspector/providers/.yaml) with a custom path.Optional
SKILLSPECTOR_LOG_LEVELLog level: DEBUG, INFO, WARNING, ERROR (default: WARNING).Optional

მიუხედავად ეფექტურობისა, ინსტრუმენტს აქვს გარკვეული შეზღუდვები. ის ვერ ახდენს სურათებზე დაფუძნებული შეტევების ან დაშიფრული/ბინარული კოდის ანალიზს. გარდა ამისა, ინსტრუმენტი ორიენტირებულია სტატიკურ ანალიზზე და არ ახორციელებს კოდის დინამიკურ გაშვებას.