axs

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GhostSteps = []string{
	"Open the corporate Ghost blog",
	"Click 'Settings'",
	"Click 'Staff'",
	"Zoom out so that all users are visible on one screen",
	"Save this page (Complete)",
	"Collect resulting .html file for analysis (the other files are not necessary)",
	"Execute 'axsdump --ghost-staff-html=<path>'",
}
View Source
var GithubOrgSteps = []string{
	"Open https://github.com/orgs/<org>/people",
	"Click Export",
	"Select 'CSV'",
	"Download resulting CSV file for analysis",
	"Execute 'axsdump --github-org-members-csv=<path>'",
}
View Source
var (
	GoogleWorkspaceAuditSteps = []string{
		"Open https://admin.google.com/ac/reporting/report/user/accounts",
		"Click Download icon",
		"Select All Columns",
		"Click CSV",
		"Download resulting CSV file for analysis",
		"Execute 'axsdump --google-workspace-audit-csv=<path>'",
	}
)
View Source
var GoogleWorkspaceUsersSteps = []string{
	"Open https://admin.google.com/ac/users",
	"Click Download users",
	"Select 'All user info Columns'",
	"Select 'Comma-separated values (.csv)'",
	"Download resulting CSV file for analysis",
	"Execute 'axsdump --google-workspace-users-csv=<path>'",
}
View Source
var KolideSteps = []string{
	"Open https://k2.kolide.com/3361/settings/admin/users",
	"Click CSV",
	"Download resulting CSV file for analysis",
	"Execute 'axsdump --kolide-users-csv=<path>'",
}
View Source
var SecureframeSteps = []string{
	"Open https://app.secureframe.com/personnel",
	"Deselect any active filters",
	"Click Export...",
	"Select 'Direct Download'",
	"Download resulting CSV file for analysis",
	"Execute 'axsdump --secureframe-personnel-csv=<path>'",
}
View Source
var SlackSteps = []string{
	"Open Slack",
	"Click <org name>▼",
	"Select 'Settings & Administration'",
	"Select 'Manage Members'",
	"Select 'Export Member List'",
	"Download resulting CSV file for analysis",

	"Execute 'axsdump --slack-members-csv=<path>'",
}
View Source
var SourceDateFormat = "2006-01-02"
View Source
var VercelSteps = []string{
	"Open https://vercel.com/",
	"Select your company/team",
	"Click 'Settings'",
	"Click 'Members'",
	"Save this page (Complete)",
	"Collect resulting .html file for analysis (the other files are not necessary)",
	"Execute 'axsdump --vercel-members-html=<path>'",
}
View Source
var WebflowSteps = []string{
	"Open https://webflow.com/dashboard/sites/<site>/members",
	"Save this page (Complete)",
	"Collect resulting .html file for analysis (the other files are not necessary)",
	"Execute 'axsdump --webflow-members-html=<path>'",
}

Functions

func FinalizeArtifact

func FinalizeArtifact(a *Artifact)

FinalizeArtifact does some final manipulation on an artifact for consistency.

func NewGCPMemberCache

func NewGCPMemberCache() gcpMemberCache

NewGCPMemberCache returns a populated structure to be used for caching membership lookups.

Types

type Artifact

type Artifact struct {
	Metadata        *Source
	UserCount       int `yaml:"user_count"`
	Users           []User
	BotCount        int                 `yaml:"bot_count,omitempty"`
	Bots            []User              `yaml:",omitempty"`
	GroupCount      int                 `yaml:"group_count,omitempty"`
	Groups          []Group             `yaml:"groups,omitempty"`
	RoleCount       int                 `yaml:"role_count,omitempty"`
	Roles           map[string][]string `yaml:"roles,omitempty"`
	PermissionCount int                 `yaml:"permission_count,omitempty"`
	Permissions     map[string][]string `yaml:"permissions,omitempty"`
}

func GhostStaff

func GhostStaff(path string) (*Artifact, error)

GhostStaffs parses the HTML output of the Ghost Staff page.

func GithubOrgMembers

func GithubOrgMembers(path string) (*Artifact, error)

GithubOrgMembers parses the CSV file generated by the Github Members page.

func GoogleCloudIAMPolicy

func GoogleCloudIAMPolicy(project string, identityProject string, cache gcpMemberCache) (*Artifact, error)

GoogleCloudIAMPolicy uses gcloud to generate a list of GCP members.

func GoogleWorkspaceAudit

func GoogleWorkspaceAudit(path string) (*Artifact, error)

GoogleWorkspaceUserAudit parses the CSV file generated by the Google User Audit page.

func GoogleWorkspaceUsers

func GoogleWorkspaceUsers(path string) (*Artifact, error)

GoogleWorkspaceUsers parses the CSV file generated by the users page.

func KolideUsers

func KolideUsers(path string) (*Artifact, error)

KolideUsers parses the CSV file generated by the Kolide Users page.

func SecureframePersonnel

func SecureframePersonnel(path string) (*Artifact, error)

SecureframePersonnel parses the CSV file generated by the Secureframe Personnel page.

func SlackMembers

func SlackMembers(path string) (*Artifact, error)

SlackMembers parses the CSV file generated by the Slack Members page.

func VercelMembers

func VercelMembers(path string) (*Artifact, error)

VercelMembers parses the HTML output of the Vercel Members page.

func WebflowMembers

func WebflowMembers(path string) (*Artifact, error)

WebflowMembers parses the HTML output of the Webflow Member page.

type Group

type Group struct {
	Name        string   `yaml:",omitempty"`
	Description string   `yaml:",omitempty"`
	Permissions []string `yaml:"permissions,omitempty"`
	Members     []string
}

type Membership

type Membership struct {
	Name        string   `yaml:",omitempty"`
	Description string   `yaml:",omitempty"`
	Role        string   `yaml:",omitempty"`
	Permissions []string `yaml:"permissions,omitempty"`
}

type Source

type Source struct {
	Kind        string
	Name        string
	ID          string    `yaml:",omitempty"`
	SourceDate  string    `yaml:"source_date,omitempty"`
	GeneratedAt time.Time `yaml:"generated_at"`
	GeneratedBy string    `yaml:"generated_by"`
	Process     []string
	// contains filtered or unexported fields
}

func NewSource

func NewSource(path string) (*Source, error)

NewSource begins processing a source file, returning a source struct.

type User

type User struct {
	Account     string
	Name        string       `yaml:",omitempty"`
	Role        string       `yaml:",omitempty"`
	Permissions []string     `yaml:",omitempty"`
	Status      string       `yaml:",omitempty"`
	Groups      []Membership `yaml:",omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL