Feat v0.5.1 chat core library + unicode security gate + cluster registry design
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m31s
CI/CD / test-sqlite (pull_request) Successful in 2m45s
CI/CD / build-and-deploy (pull_request) Successful in 1m34s
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m31s
CI/CD / test-sqlite (pull_request) Successful in 2m45s
CI/CD / build-and-deploy (pull_request) Successful in 1m34s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -145,6 +145,14 @@ func (s *Sandbox) ExecWithLoader(ctx context.Context, filename, source string, m
|
||||
}
|
||||
}()
|
||||
|
||||
// Unicode security gate — scan source for invisible/deceptive characters
|
||||
// before execution (defense in depth; install gate is primary).
|
||||
if findings := ScanSource(source, filename); len(findings) > 0 {
|
||||
if blocked, reason := Verdict(findings); blocked {
|
||||
return nil, fmt.Errorf("unicode security gate: %s (file: %s)", reason, filename)
|
||||
}
|
||||
}
|
||||
|
||||
globals, err := starlark.ExecFile(thread, filename, source, predeclared)
|
||||
if err != nil {
|
||||
return nil, wrapError(err)
|
||||
|
||||
Reference in New Issue
Block a user