
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
This repository contains Elixir/Phoenix service PkgSeer.
Intent for the service is to provide easy and fast access to package informatino including it's dependencies. Service can be used to see how many transitive dependencies package has, what kind of vulnerabilities it has had and make it easier to determine whether package is trustworthy.
Currently we support NPM and PyPI package registries
🚀 Quick Start: For automated environment setup (especially for AI agents and Factory.ai), see DEVELOPMENT_SETUP.md
This project uses PostgreSQL with Docker Compose for local development:
docker-compose up -d postgres (or use ./scripts/db.sh start)mix ecto.createmix ecto.migrateThe PostgreSQL container runs on port 5532 to avoid conflicts with system installations.
Use the provided database management script:
./scripts/db.sh start # Start PostgreSQL
./scripts/db.sh stop # Stop PostgreSQL
./scripts/db.sh restart # Restart PostgreSQL
./scripts/db.sh logs # View logs
./scripts/db.sh shell # Connect to database
./scripts/db.sh reset # Reset database (WARNING: deletes all data)
You can use --test or --both to start test or both databases.
To start your Phoenix server:
mix setup to install and setup dependenciesdocker-compose up -d postgresmix phx.server or inside IEx with iex -S mix phx.serverNow you can visit localhost:4000 from your browser.
PkgSeer supports signing in with GitHub via Ueberauth. The existing package browsing experience remains public—GitHub accounts are only needed for upcoming user-specific features. To configure the integration locally:
http://localhost:4000/auth/github/callback.export GITHUB_CLIENT_ID="your-client-id"
export GITHUB_CLIENT_SECRET="your-client-secret"
config/runtime.exs:
mix phx.server
http://localhost:4000/auth/github.
GitHub should prompt for authorization and redirect back to PkgSeer on success.Automated coverage for the login flow lives in
test/pkg_seer_web/controllers/auth_controller_test.exs and
test/pkg_seer_web/plugs/require_user_test.exs. Run them with:
mix test test/pkg_seer_web/controllers/auth_controller_test.exs \
test/pkg_seer_web/plugs/require_user_test.exs
See docs/implementation/TESTING.md for comprehensive testing documentation including Mox setup, LiveView testing, and HTTP mocking patterns.
To generate the GraphQL schema SDL (Schema Definition Language) file:
# Generate schema.graphql using the default schema module (PkgSeerWeb.Schema)
mix absinthe.schema.sdl
# Generate to a specific file
mix absinthe.schema.sdl priv/static/schema.graphql
# Specify a different schema module
mix absinthe.schema.sdl --schema PkgSeerWeb.Schema
The generated schema file can be used for documentation, client code generation, or schema validation.
Dialyzer is integrated for static type analysis with a fast development workflow:
mix dialyzer (run analysis), mix dialyzer --plt (update PLTs)mix dialyzer before merging branchesdocs/implementation/DIALYZER.md for setup, workflow, and error handlingSee docs/implementation/RATE_LIMITING_AND_CACHING.md for the detailed implementation of inbound/outbound rate limiting and HTTP caching policies.
Command-line tasks are available for profiling and debugging dependency resolution and DAG building:
# Resolve dependencies and show per-package assignments (latest version)
mix packages.resolve <package_name>
# Resolve a specific version
mix packages.resolve <package_name> <version_constraint>
# Show all assignments (no truncation)
mix packages.resolve <package_name> <version_constraint> --all
# Skip TransitiveDependencies caches (ETS/DB) for clean profiling
mix packages.resolve <package_name> <version_constraint> --skip-cache-dag
# Generate a Mermaid DAG diagram (latest or specific version)
mix packages.dag <package_name> [version_constraint]
# Open diagram in browser and bypass DAG caches
mix packages.dag <package_name> [version_constraint] --open --skip-cache-dag
Notes:
--skip-cache-dag bypasses only DAG caching in TransitiveDependencies (no ETS/DB read/write). Package metadata/version caching remains unchanged.The application includes Tidewave AI coding assistant for development:
localhost:4000/tidewaveReady to run in production? Please check our deployment guides.
FAQs
This repository contains Elixir/Phoenix service PkgSeer.
We found that pkg_seer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.