S&box Wiki

Revision Difference

AccessList#544032

<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. 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 member that is not allowed explicitly will result in the addon not getting loaded. After your addon gets compiled the generated assembly will be scanned for all used types. Any call to a type or member 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***. 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 <warning>This list is almost guaranteed to be out of date, you should check the whitelist yourself in `config\accessgroups\baseaccess.txt`</warning> Last updated: 26/5/2021 ``` ``` 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.Decimal* 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.Collections/System.Collections.* System.Private.CoreLib/System.Math.* System.Linq/* System.Private.CoreLib/System.Byte* System.Private.CoreLib/System.SByte* System.Private.CoreLib/System.Nullable* System.Private.CoreLib/System.Predicate* System.Private.CoreLib/System.IEquatable* System.Private.CoreLib/System.Comparison* 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.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.ValueTuple* System.Private.CoreLib/System.Tuple* System.Private.CoreLib/System.Random* 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.IndexOutOfRangeException* System.Private.CoreLib/System.FormatException* System.Private.CoreLib/System.Runtime.CompilerServices.SwitchExpressionException* 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.Private.CoreLib/System.TimeSpan* System.Private.CoreLib/System.Text.StringBuilder* System.Private.CoreLib/System.RuntimeTypeHandle System.Private.CoreLib/System.StringComparison System.Private.CoreLib/System.Attribute* System.Private.CoreLib/System.AttributeUsageAttribute* System.Private.CoreLib/System.FlagsAttribute* System.Private.CoreLib/System.Runtime.CompilerServices.TupleElementNamesAttribute* 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* System.Private.CoreLib/System.ObsoleteAttribute* System.Private.CoreLib/System.Span* System.Private.CoreLib/System.ReadOnlySpan* System.Private.CoreLib/System.Reflection.DefaultMemberAttribute* System.Private.CoreLib/System.Index* System.Private.CoreLib/System.Range* System.Private.CoreLib/System.Runtime.CompilerServices.RuntimeHelpers.GetSubArray* System.Text.Json/System.Text.Json.* ```