S&box Wiki

Revision Difference

AccessList#530500

<cat>Code.Misc</cat>⤶ <title>Code Accesslist</title>⤶ S&box uses an accesslist to restrict which types and members you can access from your code. This is necessary to prevent access to dangerous functions such as `Process.Start`, `DllImport` or reflection. You can only access types and members that are allowed in the accesslist below.⤶ ⤶ # How it works⤶ After your addon gets compiled the generated assembly will be scanned for all used types. Any call to a type or method that is not allowed explicitly will result in the addon not getting loaded.⤶ ⤶ # Reporting a bug⤶ Since escaping or bypassing the sandbox would result in serious security issues (such as getting infected with malware just by joining servers), please report them properly as described [here](https://github.com/Facepunch/sbox-issues/security/policy). *Do not report them publicly*.⤶ ⤶ # Accesslist⤶ ⤶ `config\accessgroups\baseaccess.txt`: ⤶ ```⤶ Sandbox.Engine/*⤶ Sandbox.Game/*⤶ Sandbox.System/*⤶ ⤶ System.Private.CoreLib/System.Void⤶ System.Private.CoreLib/System.Void.*⤶ ⤶ System.Private.CoreLib/System.Boolean⤶ System.Private.CoreLib/System.Boolean.*⤶ ⤶ System.Private.CoreLib/System.Double⤶ System.Private.CoreLib/System.Double.*⤶ ⤶ System.Private.CoreLib/System.Int16⤶ System.Private.CoreLib/System.Int16.*⤶ ⤶ System.Private.CoreLib/System.UInt16⤶ System.Private.CoreLib/System.UInt16.*⤶ ⤶ System.Private.CoreLib/System.Int32⤶ System.Private.CoreLib/System.Int32.*⤶ ⤶ System.Private.CoreLib/System.UInt32⤶ System.Private.CoreLib/System.UInt32.*⤶ ⤶ System.Private.CoreLib/System.UInt64⤶ System.Private.CoreLib/System.UInt64.*⤶ ⤶ System.Private.CoreLib/System.Int64⤶ System.Private.CoreLib/System.Int64.*⤶ ⤶ System.Private.CoreLib/System.IntPtr⤶ System.Private.CoreLib/System.IntPtr.*⤶ ⤶ System.Private.CoreLib/System.Single⤶ System.Private.CoreLib/System.Single.*⤶ ⤶ System.Private.CoreLib/System.Object⤶ System.Private.CoreLib/System.Object.*⤶ ⤶ System.Private.CoreLib/System.String⤶ System.Private.CoreLib/System.String.*⤶ ⤶ System.Private.CoreLib/System.Action*⤶ System.Private.CoreLib/System.Func*⤶ ⤶ System.Private.CoreLib/System.Type⤶ System.Private.CoreLib/System.Type.*⤶ ⤶ System.Private.CoreLib/System.Array⤶ System.Private.CoreLib/System.Array.*⤶ ⤶ System.Private.CoreLib/System.Char⤶ System.Private.CoreLib/System.Char.*⤶ ⤶ System.Private.CoreLib/System.IDisposable*⤶ ⤶ System.Private.CoreLib/System.Collections.*⤶ System.Private.CoreLib/System.Math.*⤶ ⤶ System.Linq/*⤶ ⤶ System.Private.CoreLib/System.Byte*⤶ System.Private.CoreLib/System.Nullable*⤶ System.Private.CoreLib/System.Predicate*⤶ System.Private.CoreLib/System.IO.BinaryWriter*⤶ System.Private.CoreLib/System.IO.BinaryReader*⤶ System.Private.CoreLib/System.Threading.Tasks.Task⤶ System.Private.CoreLib/System.Threading.Tasks.Task.Yield()⤶ System.Private.CoreLib/System.Threading.Tasks.Task`1⤶ System.Private.CoreLib/System.Threading.Tasks.Task`1.*⤶ System.Private.CoreLib/System.Runtime.CompilerServices.AsyncTaskMethodBuilder*⤶ System.Private.CoreLib/System.Runtime.CompilerServices.YieldAwaitable*⤶ System.Private.CoreLib/System.Runtime.CompilerServices.IAsyncStateMachine⤶ System.Private.CoreLib/System.Activator.CreateInstance<T>()⤶ System.Private.CoreLib/System.Guid*⤶ System.Private.CoreLib/System.IO.MemoryStream*⤶ System.Private.CoreLib/System.IO.Stream*⤶ System.Private.CoreLib/System.Runtime.CompilerServices.TaskAwaiter*⤶ System.Private.CoreLib/System.Threading.Tasks.Task.Delay*⤶ System.Private.CoreLib/System.Threading.Tasks.Task.GetAwaiter*⤶ System.Private.CoreLib/System.Threading.CancellationToken*⤶ System.Private.CoreLib/System.Enum*⤶ System.Private.CoreLib/System.IAsyncResult⤶ System.Private.CoreLib/System.AsyncCallback⤶ System.Private.CoreLib/System.Runtime.CompilerServices.AsyncVoidMethodBuilder*⤶ System.Private.CoreLib/System.Environment.get_CurrentManagedThreadId()⤶ System.Private.CoreLib/System.DateTime*⤶ System.Private.CoreLib/System.DayOfWeek*⤶ System.Private.CoreLib/System.HashCode*⤶ System.Private.CoreLib/System.StringSplitOptions*⤶ ⤶ System.Private.CoreLib/System.Threading.Interlocked*⤶ ⤶ System.Private.CoreLib/System.Delegate⤶ System.Private.CoreLib/System.Delegate.Combine(*⤶ System.Private.CoreLib/System.Delegate.Remove(*⤶ ⤶ System.Private.CoreLib/System.Exception*⤶ System.Private.CoreLib/System.NotImplementedException*⤶ System.Private.CoreLib/System.NotSupportedException*⤶ ⤶ System.Private.CoreLib/System.Math.*⤶ System.Private.CoreLib/System.MathF.*⤶ ⤶ System.Private.CoreLib/System.RuntimeFieldHandle⤶ System.Private.CoreLib/System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray( System.Array, System.RuntimeFieldHandle )⤶ ⤶ System.Private.CoreLib/System.IO.Path.*⤶ System.Private.CoreLib/System.IO.FileMode⤶ System.Private.CoreLib/System.IO.SeekOrigin⤶ ⤶ System.Text.RegularExpressions/System.Text.RegularExpressions.*⤶ ⤶ ⤶ System.Private.CoreLib/System.Text.Encoding*⤶ ⤶ ⤶ System.Private.CoreLib/System.Buffers.ArrayPool*⤶ ⤶ System.Private.CoreLib/System.Convert.ToInt32*⤶ ⤶ ⤶ ⤶ System.Net.Http/System.Net.Http.HttpClient*⤶ System.Net.Http.Json/System.Net.Http.Json.HttpClientJsonExtensions*⤶ ⤶ System.Private.CoreLib/System.TimeSpan*⤶ ⤶ ⤶ System.Private.CoreLib/System.RuntimeTypeHandle⤶ ⤶ ⤶ System.Private.CoreLib/System.StringComparison⤶ System.Private.CoreLib/System.FlagsAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.IsReadOnlyAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.ExtensionAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.IteratorStateMachineAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.AsyncStateMachineAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.CompilerGeneratedAttribute⤶ System.Private.CoreLib/System.Runtime.CompilerServices.PreserveBaseOverridesAttribute⤶ System.Private.CoreLib/System.Diagnostics.DebuggerBrowsableAttribute⤶ System.Private.CoreLib/System.Diagnostics.DebuggerHiddenAttribute⤶ System.Private.CoreLib/System.Diagnostics.DebuggerStepThroughAttribute⤶ ⤶ System.Text.Json/System.Text.Json.Serialization.JsonPropertyNameAttribute⤶ ```