Here are the top 3 most famous works of art, based on global recognition, historical significance, and visitor numbers:
1. Mona Lisa – Leonardo da Vinci (c. 1503–1519)
The most iconic painting in the world, housed in the Louvre Museum, Paris. Known for the subject's enigmatic smile and the masterful use of sfumato (smoky blending). It is the most visited artwork on the planet and a symbol of the Italian Renaissance.
2. The Starry Night – Vincent van Gogh (1889)
A post-Impressionist masterpiece displayed at the Museum of Modern Art (MoMA) in New York. Famous for its swirling skies, luminous stars, and expressive, thick brushstrokes. It is one of the most reproduced and recognizable images in modern art.
3. The Persistence of Memory – Salvador Dalí (1931)
A surrealist classic held at the Museum of Modern Art (MoMA). Famous for the melting clocks draped over a barren landscape, it has become a universal symbol of the fluidity of time and the power of the subconscious mind.
Note: If focusing on sculpture rather than painting, other frequently cited "most famous" works include Michelangelo's David and Auguste Rodin's The Thinker.
What would stop me shipping this
Ranked by severity × confidence × production reach. Reach is the honest discriminator across a collection that is mostly other people's code: the same finding matters more in something that ships.
Pin third-party GitHub Actions to a commit SHAhigh2 occurrences
.github/workflows
snok/install-poetry@v1, trufflesecurity/trufflehog@main
A tag can be moved, so the action running with your token and secrets is whatever its owner last pushed; this is how tj-actions/changed-files leaked secrets from thousands of repos.
Fix: Replace each @vN with the 40-character commit SHA, keep # vN as a comment, and let Dependabot bump the SHAs.
Commit a lockfile beside the manifesthigh
pyproject.toml
manifest with no lockfile in scope
An unlocked range means the artifact you tested and the artifact you ship can contain different transitive code, so a malicious patch release reaches production with no diff.
Fix: Run the package manager once and commit the generated lockfile.
Make CI invoke the test suite it hashigh12 occurrences
.github/workflows
12 test files, no test command in any workflow
A green check that never executed an assertion is worse than no check, because reviewers trust it.
Fix: Add a test step to the existing workflow rather than a new workflow.
Declare least-privilege permissions for GITHUB_TOKENmedium2 occurrences
.github/workflows/lint.yml
2 workflow(s) declare no permissions
With no declaration the token inherits the repository default, so any injected step can push commits or mint releases from inside your own CI.
Fix: Add permissions: contents: read at the top of the workflow and widen per job only where needed.
Pin the container base image by digestmedium
Dockerfile
python:3.12-slim
An untagged or mutable base means today's build and last month's contain different libc and a different CVE set, with no record of which shipped.
Fix: Use image:tag@sha256:<digest> and enable Dependabot's docker ecosystem.
Add a non-root USER to the imagemedium
Dockerfile
CMD or ENTRYPOINT with no USER directive
A process running as root in the container is root against every mounted volume, and it turns any container escape or writable-mount mistake from a contained problem into a host one.
Fix: Create an unprivileged user, chown what it needs, and end the Dockerfile with USER.
Set timeout-minutes on the workflow jobslow4 occurrences
.github/workflows/codeql.yml
4 workflow(s) declare no job timeout
A wedged step runs to the six-hour platform default, which on a two-hourly schedule means three runs overlap behind it.
Fix: Add timeout-minutes with a realistic bound to each job.
Checked deterministically against the repository tree and a bounded set of its files: committed credentials, unpinned actions and base images, missing lockfiles and update bots, workflows that discard failures, published advisories against the declared dependencies, runtime configuration, licensing and notebook reproducibility. No language model is involved in this section.