Provides an easy interface for interacting with all AlienVault OTX DirectConnect APIs.
To get started, add the library into your solution with either the NuGet Package Manager
or the dotnet
CLI.
dotnet add package AlienVault
For the primary classes to become available, import one or more of the used namespaces.
using AlienVault;
using AlienVault.Entities;
using AlienVault.Modules;
An API key is required to interact with the API. Create your own key at: https://otx.alienvault.com/settings
Need more examples? Under the Example
directory you can find a working demo project that implements this library.
- Built for .NET 6 and .NET 7
- Fully async
- Deep coverage of the API
- Extensive XML documentation
- No external dependencies (uses integrated HTTP and JSON)
- Custom exceptions (
AlienVaultException
) for advanced catching - Manage pulses, process events and submit your IOCs
- Automatic request retries
- Example project to demonstrate all capabilities of the library
Under the Example
directory you can find a working demo project that implements this library.
AlienVaultClient client = new(new AlienVaultClientConfig()
{
Key = "cebf8dc104f90bf27153190a24e0fcc31945a5e6fcc1937c5f8640e0fcefc0ec",
StrictLimit = false
});
Pulse pulse = await client.Pulses.Create(new()
{
Name = "Testing Pulse",
Description = "This pulse was created through the C# AlienVault library!",
Public = true,
Tags = new string[]
{
"test",
"pulse"
},
TLP = TLP.White,
Indicators = new IndicatorParameters[]
{
new()
{
Id = 0,
Type = IndicatorType.IPv4,
Role = IndicatorRole.Unknown,
Value = "1.1.1.1",
Title = "A sample IP address",
Expiration = DateTime.Now.AddYears(1)
}
}
});
int revision = await client.Pulses.AddIndicators("622b4458e11410ea56c68052", new IndicatorParameters[]
{
new()
{
Id = 1,
Type = IndicatorType.Domain,
Role = IndicatorRole.Unknown,
Value = "alienvault.com",
Title = "A sample domain indicator",
Expiration = DateTime.Now.AddMonths(1)
}
});
FileSubmission fileSubmission = await client.Analysis.SubmitFile("C://sample.exe");
URLSubmission urlSubmission = await client.Analysis.SubmitURL("http://pzxdvpao.ml/");
GeneralIPInfo ipv4Info = await client.Data.GetGeneralIPInfo("1.1.1.1");
GeneralDomainInfo domainInfo = await client.Data.GetGeneralDomainInfo("example.com");
WhoisEntry[] whoisEntries = await client.Data.GetWhois("t4ck0wsvvpbmktxzluyee11uce27kbct.nl");
You can find all available methods at DOCS.md.
- Website: https://otx.alienvault.com
This is a community-ran library. Not affiliated with AT&T Cybersecurity.